我想在mysql_query中传递一个php变量,例如:
$tty = '217';
$num_of_comments = mysql_query("SELECT count(*) FROM comments WHERE img_id = '.$tty.'");
$num_of_comments1 = mysql_fetch_array($num_of_comments);
$num_of_comments2 = $num_of_comments1[0];
echo $num_of_comments2 ;
但是,我无法获得num_of_comments2中所需的值。它在echo上返回0。
答案 0 :(得分:2)
正如颜色编码会显示,您的查询错误。您也可以通过echo
查询来调试它:
SELECT count(*) FROM comments WHERE img_id = '.217.'
显然不正确!
$tty = '217';
$sql = mysql_query("SELECT count(*) FROM comments WHERE img_id = ".intval($tty));
$row = mysql_fetch_row($sql);
$number = $row[0];
echo $number;
获取价值的替代单行:
list($number) = mysql_fetch_row(mysql_query("select count(*) from `comments` where `img_id`=".intval($tty)));
答案 1 :(得分:0)
这应该有效:
$tty = '217';
$num_of_comments = mysql_query("SELECT count(*) FROM comments WHERE img_id = '".$tty."'");
$num_of_comments1 = mysql_fetch_array($num_of_comments);
$num_of_comments2 = $num_of_comments1[0];
echo $num_of_comments2 ;
使用'".$tty."'
代替'.$tty.'
答案 2 :(得分:0)
基本PHP语法:
$num_of_comments = mysql_query("[[...snip...]]= '.$tty.'");
你永远不会“关闭”你的字符串,所以你试图在你的字符串中执行PHP连接,这是行不通的。您的查询字符串确实是
WHERE imd_id = '.217.'
^---^--- note the concatentation operators
对于"
- 引用的字符串,您不需要连接:
$num_of_comments = mysql_query([[..snip..] = '$tty'");
^^^^^^^---note: no dots
就是你所需要的一切。