用php操作mysql資料庫:在web頁面顯示查詢內容
阿新 • • 發佈:2019-02-20
初次學習用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>
這是執行後的效果: