標籤:names 需要 資料 資料庫操作 foreach int fas 選擇 record
關聯式資料庫的常用基本術語
資料data
資料庫database
資料庫管理系統dbms
表(資料表)table
欄位field,列column
行row,記錄record
資料庫操作的基本模式(流程)
建立串連(認證身份)
用戶端向伺服器端發送sql命令
伺服器端執行命令,並返回執行的結果
用戶端接收結果(並顯示)
中斷連線
<?php
//1,串連資料庫:
$mylink = mysql_connect("localhost", ‘root‘, ‘‘);//串連到資料庫
//2,設定串連編碼(通常是utf8)
mysql_set_charset("utf8"); //也可以使用:mysql_query("set names utf8");
//3,選擇資料庫(如有需要)
mysql_select_db("temptab1"); //也可以使用:mysql_query("use 資料庫名");資料庫名字一定要對
//4,執行sql命令。
//$result = mysql_query( "幾乎任何sql語句 ");
if(1 == 1){
$randName = rand(1000, 9999); //獲得一個隨機數
$sql = "insert into temptab1(id, name)values($randName, ‘user_$randName‘);" ; //基本上寫好這條sql語句就可以,往temptab1表格裡,先建立一個id,name,往裡面分別插入資料
$str = "asf‘afas‘fafs"; //上一行單引號在php中只是一個一般字元
$result = mysql_query( $sql ); //執行該sql語句,並存結果
//返回的結果通常需要分兩種情形進行處理:
//4.1:如果是無返回資料的語句:
//4.1.1 如果$result為true,表示執行成功
if($result == true){
echo "插入資料成功";
}
//4.1.2 如果$result為false,表示執行失敗
else{
echo "失敗,請參考失敗提示資訊:" . mysql_error();
}
}
//下面開始執行select這種“返回資料”的語句,並顯示結果
$sql = "select * from temptab1 where id > 1";
$result = mysql_query($sql); //這裡如果執行成功,則被稱為“資料集”(結果集)
if($result === false){
echo "失敗,請參考失敗提示資訊:" . mysql_error();
}
else{
echo "<table border=‘10‘>";
while( $record = mysql_fetch_array( $result )){
//mysql_fetch_array()函數的作用類似foreach對數組的作用:遍曆(結果集)
//它每次去的結果集的“一行資料”,並“裝入”到數組 $record 中
//該數組的下標就是該select的欄位名,值就是對應行的資料值
echo "<tr>";
echo "<td>" . $record[‘id‘] . "</td>";
echo "<td>" . $record[‘name‘] . "</td>";
echo "</tr>";
}
echo "</table>";
}
//下面開始執行非select但返回資料的命令顯示結果
$sql = "show databases;"; //換成“desc 表名”這個命令,也是得到資料
$result = mysql_query($sql); //這裡如果執行成功,則被稱為“資料集”(結果集)
if($result === false){
echo "失敗,請參考失敗提示資訊:" . mysql_error();
}
else{
echo "<table border=‘1‘>";
echo "<tr>";
echo "<td>Database</td>";
echo "</tr>";
while( $record = mysql_fetch_array( $result )){
//mysql_fetch_array()函數的作用類似foreach對數組的作用:遍曆(結果集)
//它每次去的結果集的“一行資料”,並“裝入”到數組 $record 中
//該數組的下標就是該select的欄位名,值就是對應行的資料值
echo "<tr>";
echo "<td>" . $record[‘Database‘] . "</td>";
echo "</tr>";
}
echo "</table>";
}
//下面開始執行非select但返回資料的命令顯示結果
$sql = "show databases;";
$sql = "desc temptab1;";
$sql = "select * from temptab1";
$result = mysql_query($sql); //這裡如果執行成功,則被稱為“資料集”(結果集)
if($result === false){
echo "失敗,請參考失敗提示資訊:" . mysql_error();
}
else{
$fieldCount = mysql_num_fields($result); //得到結果集的欄位個數
echo "<table border=‘1‘>";
//輸出表頭部分,內容是欄位名:
echo "<tr>";
for($i = 0; $i < $fieldCount; ++$i){ //在每一行中對所有列進行“遍曆”
$fieldName = mysql_field_name($result, $i);//從結果集中取的第i個欄位的名字(i從0開始算起)
echo "<td>" . $fieldName . "</td>";
}
echo "</tr>";
while( $record = mysql_fetch_array( $result )){
//mysql_fetch_array()函數的作用類似foreach對數組的作用:遍曆(結果集)
//它每次去的結果集的“一行資料”,並“裝入”到數組 $record 中
//該數組的下標就是該select的欄位名,值就是對應行的資料值
//echo "<tr>";
//echo "<td>" . $record[‘Field‘] . "</td>";
//echo "<td>" . $record[‘Type‘] . "</td>";
//echo "</tr>";
//上述代碼要寫若干項,但如果欄位名(和欄位個數)不確定,則怎麼辦?
echo "<tr>";
for($i = 0; $i < $fieldCount; ++$i){ //在每一行中對所有列進行“遍曆”
$fieldName = mysql_field_name($result, $i);//從結果集中取的第i個欄位的名字(i從0開始算起)
echo "<td>" . $record[$fieldName] . "</td>";
}
echo "</tr>";
}
echo "</table>";
}
?>
轉自:http://www.cnblogs.com/shiyou00/p/5576667.html
資料庫基礎知識(1)--資料庫php串連