phpについての基本的な質問を皆さんに聞きたいです。
PHP コード
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->
$conn=mysql_connect("localhost","root","123456");
if(!$conn){
die('could not connect:'.mysql_error());
}
else{
echo '链接正常<br />';
}
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+='<br />'.$row["name"];
}
// ($i==1)?$strTemp=$row["name"]:strTemp+='<br />'.$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"];
}
------解決策---------3階の方法に同意します, $ strTemp+='
'.$row["name"]; この文では + 記号が使用されています。PHP は $strTemp を文字列ではなく int 型のデータとして処理します。
------解決策---------