❶ php里mysql_fetch_row()
正常是這樣的
$sql = "select * from user";
$query = mysql_query($sql);
while(@$row = mysql_fetch_row){
echo $row[0];
}
這里的$row意思就是 根據那條sql語句查詢出來的結果集 是一個數組。
如果你用的是 mysql_fetch_row 那麼可以使用$row[0] $row[1]這樣來列印你所查詢的表的列 0表示第一個欄位 1為第2個欄位 以此類推
如果你使用mysql_fetch_array 那麼列印的時候你可以使用 $row[id] $row[name] 直接使用欄位名稱 這樣更加一目瞭然。
總的來說 這里的row就是結果集的意思 是一個數組。
$row = mysql_fetch_row 為空的時候(也就是沒有查詢到結果) 會報錯。
最好在$row前面加一個@來屏蔽這個錯誤。
❷ php中的fetch_row 是取多少內容
$res->fetch_row;默認是從欄目名開始往下取一行數據(即第一行)。
經常配合while使用
比如
while($res->fetch_row){
代碼
}
意思就是從欄目名一直往下取一行數據,直到取完。也就是取得所有的行數
❸ php fetchrow出來的全是亂碼文
mysql+php產生亂碼原因:
mysql資料庫默認的編碼是utf8,如果這種編碼與你的PHP網頁不一致,可能就會造成MYSQL亂碼.
MYSQL中創建表時會讓你選擇一種編碼,如果這種編碼與你的網頁編碼不一致,也可能造成MYSQL亂碼.
MYSQL創建表時添加欄位是可以選擇編碼的,如果這種編碼與你的網頁編碼不一致,也可能造成MYSQL亂碼.
用戶提交頁面的編碼與顯示數據的頁面編碼不一致,就肯定會造成PHP頁面亂碼.
如用戶輸入資料的頁面是big5碼, 顯示用戶輸入的頁面卻是gb2312,這種100%會造成PHP頁面亂碼.
PHP頁面字元集不正確.
PHP連接MYSQL資料庫語句指定的編碼不正確.
mysql+php產生亂碼的解決辦法:
1、如果安裝mysql的編碼已不能更改,很多朋友是購買虛擬主機建立網站,無權更改MYSQL的安裝編碼,這一關我們可以跳過,因為只要後面的步聚正確,一樣能解決亂碼問題
2、修改資料庫編碼,如果是資料庫編碼不正確,可以在phpmyadmin 執行如下命令:
ALTER DATABASE 'test' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
以上命令就是將test資料庫的編碼設為utf8.
3、修改表的編碼:
ALTER TABLE 'category' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
以上命令就是將一個表category的編碼改為utf8.
4、修改欄位的編碼:
ALTER TABLE 'test' CHANGE 'dd' 'dd' VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
以上命令就是將test表中 dd的欄位編碼改為utf8.
5、如果是這種情況容易解決,只需檢查下頁面,修改源文件的charset即可.
6、這種情況也是修改頁面charset即可.
7、在連接資料庫的語句中.
mysql_connect('localhost','user','password');
mysql_select_db('my_db');
mysql_query("set names utf8;");
//select 資料庫之後加多這一句
為了避免PHP頁面亂碼的發生,PHP頁面開始第一句
header("content-type:text/html; charset=utf-8");
//強行指定頁面的編碼,以避免亂碼
網路網友alexdany空間
❹ php中mysql_fetch_row():賦值報錯大神們幫幫忙
在reslut為0的時候會出現這個錯誤,這時候,要檢查一下表名,資料庫名,連接等等。。 你SQL語句對嗎?FRON !!是FROM吧
❺ php執行sql的mysql_fetch_row函數 為什麼只能輸出出第一行的數據 後面的怎麼出來
用mysql_fetch_array你的mysql_fetch_row() 從和指定的結果標識關聯的結果集中取得一行數據並作為數組返回。每個結果的列儲存在一個數組的單元中,偏移量從 0 開始
❻ 在php中能用mysql_fetch_row()取出指定的一條記錄嗎
我來回答吧:
如果$query="select * from t_information where FLable='3'"的結果集中 只有一條記錄,那麼$row就是第一條記錄,如果$result返回大於1條記錄,那麼mysql_fetch_row只是返回當前一條記錄,可以通過循環依次返回每條記錄
如: while($row=mysql_fetch_row($result))
{
//$row 為每次循環中當前記錄。
//$row[1] 代表當前行中的第二個欄位的值。
}
❼ 關於php的mysql_fetch_row()的問題
和條件有關系 你後面的where `gid` = '$logid'
去掉這個 然後列印出來看看
如果是正常的 那說明就是條件導致的