1. 程式人生 > >用php操作mysql資料庫:在web頁面顯示查詢內容

用php操作mysql資料庫:在web頁面顯示查詢內容

初次學習用php操作資料庫,做一做筆記,簡單的總結一下如何在web介面輸出查詢內容和向資料庫中新增記錄。如有錯誤,望評論指正。

就是用php巢狀HTML程式碼,用一個table輸出。

在學習中遇到一些問題:

1.PHP無法向MYSQL插入中文記錄

如果在sql語句裡面插入的欄位有中文的話,在web介面會出現亂碼的情況

解決方法:最重要的兩個步驟就是

1).開啟my.ini檔案:找到default-character-set,把它設定為utf8,default-character-set=utf8

2).在php程式碼裡面寫上mysqli_query("set names 'utf8'");

具體設定看此連結:

2.每次執行一次insert的sql語句就會向資料庫中插入同樣的資料

解決方法:設定主鍵唯一標識

以下是整個程式碼:

<!doctype html>
<html>
<head>
	<meta charset="utf-8">
	<title></title>
</head>
<body>
	<table style='text-align:left;border:solid' border="1">	
		<tr><td>姓名</td><td>年齡</td></tr>
 <?php
     $conn = mysqli_connect('localhost','root','');
	     if($conn){
			echo '連線成功';
     }else{
     	echo '連線失敗';
     }
 
        mysqli_query($conn,"insert into myapp.course 
        	values('008','計算機系統',48,6,'002')");
        mysqli_query($conn, "insert into myapp.course 
        	values('009','嵌入式',48,6,'001')");
        mysqli_query($conn,"insert into myapp.student values('98030110','張九',20,'女','980301','03')");
        mysqli_query($conn, "insert into myapp.student values('98030111','張十',19,'男','980301','04')");

    mysqli_query($conn,"use myapp");
    mysqli_query($conn,"set name utf-8");

    $sql = 'select Sname,Sage from Student where ssex="男"';
    $retval = mysqli_query($conn,$sql);
    echo '<h3>在WEB頁面顯示以下內容:學生表中所有男生的年齡及姓名;</h3>';

    // $row=mysqli_fetch_assoc($retval);
    // print_r($row);
    // $row=mysqli_fetch_assoc($retval);
    // print_r($row);//這個只能一行一行的輸出

    $num=mysqli_num_rows($retval);
    //這裡用一個for迴圈輸出所有滿足條件的查詢語句
    for ($i=0; $i <$num ; $i++) { 
    	$row=mysqli_fetch_assoc($retval);
    	$name=$row['Sname'];
    	$age=$row['Sage'];
    	echo "<tr><td>$name</td><td>$age</td><tr>";

    }
    //快速獲取資料的條數,不用通過查詢所有條數
    $result=mysqli_query($conn,'select count(*)from course');
    $num1=mysqli_fetch_array($result);
    echo '資料條數'.$num1[0];

?>
 </table>
</body>
</html>


     這是執行後的效果: