headphpmysql
首先搭建一個PHP環境,我用的wamp
然後比如你的資料庫位置是本地localhost
資料庫用戶名是root
資料庫密碼是123456
資料庫名是mydb
資料庫里有個表mytab
有3個欄位
id(主鍵) name sno
1 張三 123
2 李四 456
然後在項目根目錄,新建一個文件:index.php
<?php
//連接資料庫
$con=mysqli_connect("localhost","root","123456","mydb");
//SQL語句
$sql="select * from mytab;";
//執行SQL語句,結果保存到$arr
$obj=mysqli_query($con,$sql);
$arr=mysqli_num_rows($result);
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>實現最簡單的php網頁+mysql查詢功能</title>
</head>
<body>
<?php
echo "<pre>";
print_r($obj);
?>
</body>
</html>
之後就能夠看到結果了
⑵ 教你巧用PHP+MySQL搭建一個聊天室
MySQL並發能力強 響應速度快 是性能優異的資料庫軟體;PHP是功能強大的伺服器端腳本語言 筆者在山西鋁廠網站開發中 採用PHP +MySQL 建立了多種應用 下面 以一個簡單的聊天室設計為例 介紹PHP+MySQL在網頁開發中的應用總體設計
構思與規劃:
聊天室的基本原理 就是把每個連上同一網頁的用戶傳送的發言數據儲存起來 然後將所有的發言數據傳給每一用戶 也就是說 用資料庫匯集每個人的發言 並將資料庫中的數據傳給每一個人就實現了聊天室的功能
表設計
首先使用MySQL建立表chat用來儲存用戶的發言:
mysql> CREATE TABLE chat > (chtime DATATIME > nick CHAR( ) NOT NULL >words CHAR( ));
表中只設定了三個域 chtime是發言的時間 nick為發言者的昵稱 words是發言的內容 發言最多 個字元
網頁設計
一個最簡單的聊天室通常需要兩個頁框:一個頁讓虧框是用戶輸入發言的表單 另一個用來顯示大家的發言 所以代碼段通常至少需要如下幾段:
建立頁框的結構(main php)
顯示大家發言的程序段(cdisplay php)
傳送用戶發言的程序段(speak php)
用戶登錄進入聊天室程序段(login php)
代碼設計
以上規劃完成後 就可以著手代碼設計了 採用php可以非常簡明實現以上的功能
用戶登錄login php 本段代碼是一個完全HTML網頁
<> <head> <title>用戶登錄</title> </head> <body>請輸入您的昵稱<br> <form action= main php method= post target= _self > <input type= text name= nick cols= > <input type= submit value= 登錄 > </body> </>
用戶提交自己的昵稱後 就進入到聊天室 以下的處理交由main php處理
頁框主體代碼段main php:
<? 迅李setcookie( nick $nick) //用cookie記錄用戶昵稱 是常用的傳遞變數方法 ?> <> <title>山西鋁廠聊天室試用版ver </title> <frameset rows= % * > <frame src= cdisplay php name= chatdisplay > <frame src= speak php name= speak > </frameset> </>
顯示發言cdisplay php
本代碼段的任務是將表chat中的數據取出 顯示在頁框中 每次刷新時 取資料庫中最近的 條發言 同時 為防止資料庫無限增大 需設計刪除陳舊數據的功能 代碼如下
<> <head> <title>顯示用戶發言</title> <meta equiv= refresh content= ;url=cdisplay php > </head> <body> <? $link_ID=mysql_connect( main root ); //鏈接Mysql伺服器 伺服器名為main 管理員名為root 畝滑遲mysql_select_db( abc ); //選擇資料庫 $str= select * from chat ORDER BY chtime; ; //查詢字元串 $result=mysql_query($str $link_ID); //送出查詢 $rows=mysql_num_rows($result); //取得查詢結果的記錄筆數 //取得最後 筆發言 並顯示 @mysql_data_seek($resut $rows ); //移動記錄指針到前 筆記錄 if ($rows< ) $l=$rows; else $l= ; //記錄總數小於 則最多為該記錄數 for ($i= ;$i<=$l;$i++) { list($chtime $nick $words)=mysql_fetch_row($result); echo $chtime; echo ;echo $nick; echo : ; echo $words; echo <BR> ; } //清除庫中過時的數據 @mysql_data_seek($result $rows ); //移動記錄指針到前 筆記錄 list($limtime)=mysql_fetch_row($result); $str= DELETE FROM chat WHERE chtime< $limtime ; ; $result=mysql_query($str $link_ID); //送出查詢字元串 庫中只留前 個記錄 mysql_close($link_ID); ?> </body> </>
送出發言到資料庫speak php
<> <head> <title>發言</title> </head> <body> <? If ($words) { $link_ID=mysql_connect( main root ); mysql_select_db( abc ); //資料庫名為abc $time=date(y) date(m) date(d) date(h) date(i) (date(s); //取得當前時間 $str= INSERT INTO chat(chtime nick words) values ( $time $nick $words ); ; mysql_query($str $link_ID); //送出發言到資料庫 mysql_close($link_ID); } ?> //輸入發言的表單 <form action= speak php method= post target= _self > <input type= text name= words cols= > <input type= submit value= 發言 > </form> </body> </>
lishixin/Article/program/PHP/201311/21516
⑶ PHP顯示MySQL數據亂碼,字元集設置都是UTF8,資料庫也是UTF8,一直找不到問題在哪裡,代碼見詳細,求大神
php+mysql的utf-8中文亂碼問題的解決方法
問題匯總:
1.mysql資料庫默認的編碼是utf8,如果這種編碼與你的PHP網頁不一致,可能就會造成MYSQL亂碼.
2.MYSQL中創建表時會讓你選擇一種編碼,如果這種編碼與你的網頁編碼不一致,也可能造成MYSQL亂碼.
3.MYSQL創建表時添加欄位是可以選擇編碼的,如果這種編碼與你的網頁編碼不一致,也可能造成MYSQL亂碼.
4.用戶提交頁面的編碼與顯示數據的頁面編碼不一致,就肯定會造成PHP頁面亂碼.
5.如用戶輸入資料的頁面是big5碼, 顯示用戶輸入的頁面卻是gb2312,這種100%會造成PHP頁面亂碼.
6.PHP頁面字元集不正確.
7.PHP連接MYSQL資料庫語句指定的編碼不正確.
使用mysql+php產生亂碼的原因都了解得很清楚了,那麼解決就不困難了.
針對不同問題的解決方法:
1.mysql資料庫默認的編碼是utf8,如果這種編碼與你的PHP網頁不一致,可能就會造成MYSQL亂碼.
修改資料庫編碼,如果是資料庫編碼不正確,可以在phpmyadmin 執行如下命令:
Alter DATABASE 'test' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
以上命令就是將test資料庫的編碼設為utf8.
2.MYSQL中創建表時會讓你選擇一種編碼,如果這種編碼與你的網頁編碼不一致,也可能造成MYSQL亂碼.
修改表的編碼:
Alter TABLE 'category' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
以上命令就是將一個表category的編碼改為utf8.
3.MYSQL創建表時添加欄位是可以選擇編碼的,如果這種編碼與你的網頁編碼不一致,也可能造成MYSQL亂碼.
修改欄位的編碼:
Alter TABLE 'test' CHANGE 'dd' 'dd' VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
以上命令就是將test表中 dd的欄位編碼改為utf8.
4.用戶提交頁面的編碼與顯示數據的頁面編碼不一致,就肯定會造成PHP頁面亂碼.
如果是這種情況容易解決,只需檢查下頁面,修改源文件的charset即可.
5.如用戶輸入資料的頁面是big5碼, 顯示用戶輸入的頁面卻是gb2312,這種100%會造成PHP頁面亂碼.
這種情況也是修改頁面charset即可.
6.PHP頁面字元集不正確.
為了避免PHP頁面亂碼的發生,PHP頁面開始第一句
header("content-type:text/html; charset=utf-8");
//強行指定頁面的編碼,以避免亂碼
7.PHP連接MYSQL資料庫語句指定的編碼不正確.
在連接資料庫的語句中.
mysql_connect('localhost','user','password');
mysql_select_db('my_db');
mysql_query("set names 'utf8'"); //select 資料庫之後加多這一句