php一個基礎問題 想請教下大家。
PHP code
$conn=mysql_connect("localhost","root","123456");if(!$conn){ die('could not connect:'.mysql_error());}else{ echo '連結正常
';}mysql_select_db("zuitu_db",$conn);$sql="select * from category order by id desc"; // $sql="select * from 'category'";這樣寫有錯嗎?$res=mysql_query($sql);$i=1;$strTemp='';/* 下面這個while迴圈,為何讀不出資料?*/while($row=mysql_fetch_array($res)){ if($i==1) { $strTemp=$row["name"]; } else { $strTemp+='
'.$row["name"]; } // ($i==1)?$strTemp=$row["name"]:strTemp+='
'.$row["name"]; 這樣寫有誤嗎? $i+=1;}echo $strTemp;//以上內容 請大家幫忙指正,多謝!
------解決方案--------------------
strTemp+='
'.$row["name"];
變數必須加 $, 你這樣寫會被認為是語法錯誤,因為strTemp只能被理解為常量,而常量只能通過define()函數來賦值。
另外PHP的字串串連符不是 + ,是 .
$strTemp .= '
'.$row["name"];
題外話,建議你在 每個mysql_query()後面加一個判斷,如果資料庫查詢有錯,也能及時找到根源
------解決方案--------------------
$sql="select * from 'category'";這樣寫有錯嗎?
$sql="select * from `category`";
($i==1)?$strTemp=$row["name"]:strTemp+='
'.$row["name"]; //這樣寫有誤嗎?
($i==1)?$strTemp=$row["name"]:$strTemp.='
'.$row["name"];
$strTemp = ($i==1)?$row["name"]:$strTemp.'
'.$row["name"];
------解決方案--------------------
*
下面這個while迴圈,為何讀不出資料?
*/
while($row=mysql_fetch_array($res)){
if($i==1)
{
$strTemp=$row["name"];
}
else
{
$strTemp.='
'.$row["name"];
}
------解決方案--------------------
同意三樓的方法, $strTemp+='
'.$row["name"]; 這句用了+號,php會把$strTemp作為int型資料進行處理,而不是字串
------解決方案--------------------
探討
$sql="select * from 'category'";這樣寫有錯嗎?
$sql="select * from `category`";
($i==1)?$strTemp=$row["name"]:strTemp+='
'.$row["name"]; //這樣寫有誤嗎?
($i==1)?$strTemp=$row["name"]:$strTemp.='
'.$……