[英]PAssing PHP variables inside a mysql_query function
我想在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。
正如颜色编码将显示,您的查询是错误的。 您也可以通过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)));
这应该工作:
$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.'
基本的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
是你所需要的全部。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.