2014-04-05 2 views
-1

Я хочу передать переменную PHP для mysql_query, таких как:Использование переменной PHP в MySQL

$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. Он возвращает 0 на эхо. Также я попробовал hardcoding 217 вместо $tty в запросе. Там он работает.

Я также знаю, что эту проблему можно решить mysqli/PDO. Может ли кто-нибудь быть добрым, чтобы помочь мне с кодом в этом случае?

+0

дубликата http://stackoverflow.com/questions/7537377/how -to-include-a-php-variable-inside-a-mysql-insert-statement/7537500 # 7537500 –

+0

Не говоря уже о том, что вы разместили этот вопрос уже, но по какой-то причине удалили его –

ответ

0

вы добавление дополнительных точек в запросе попытаться ниже

$num_of_comments = mysql_query("SELECT count(*) FROM comments WHERE img_id = '$tty'"); 

Это (mysql_*) расширения устаревший PHP 5.5.0, и будет удалены в будущем. Вместо этого должны быть подготовлены формулировки подстановок MySQLi или PDO_MySQL, чтобы предотвратить атаки SQL Injection!

+0

, почему downvote pl easy comment –

+0

У меня нет dowvoted, но, вероятно, потому что 'mysql_query' – itachi

0

У вас есть ошибка в вашем sql. Попробуйте это.

$num_of_comments = mysql_query("SELECT count(*) FROM comments WHERE img_id ='$tty'"); 

Это (mysql_*) расширения устаревший PHP 5.5.0, и будет удалено в будущем. Вместо этого необходимо подготовить подготовленные заявления в отношении расширения MySQLi или PDO_MySQL, чтобы предотвратить атаки SQL Injection!

+0

Почему downvote для этого решения? . Запрос, безусловно, не будет работать из-за дополнительной точки в нем. – Jenz

0

Следуйте этим

Заменить

$num_of_comments = mysql_query("SELECT count(*) FROM comments WHERE img_id = '.$tty.'"); 

с этим

$num_of_comments = mysql_query("SELECT count(*) FROM comments WHERE img_id ='$tty'"); 

Это (mysql_*) расширение нежелательно из PHP 5.5.0, и будет удален в будущем. Вместо этого необходимо подготовить подготовленные заявления в отношении расширения MySQLi или PDO_MySQL, чтобы предотвратить атаки SQL Injection!

+0

он отлично работает, а затем проголосовать? – Birlla

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 ; 
0

вы должны сделать разницу между fetch_array или FETCH_NUM

попробовать это:

$tty = '217'; 

$num_of_comments = mysql_query("SELECT count(*) as counts FROM comments WHERE img_id = '".$tty."' "); 
$num_of_comments1 = mysql_fetch_array($num_of_comments); 
$num_of_comments2 = $num_of_comments1['counts']; 
echo $num_of_comments2 ; 
Смежные вопросы