используя переменную php в предложении WHERE запроса mysql - PullRequest
1 голос
/ 18 марта 2012

Я выполняю очень простой запрос, который, я думаю, должен работать. Единственное, чего я раньше не делал, - это поместил переменную php в предложение WHERE запроса. Переменная $ X является числовым значением, скажем, 100. Когда я запускаю этот запрос, я просто получаю значение 0. Я делаю что-то явно глупое?

SELECT generator_64k.n
FROM generator_64k
WHERE generator_64k.n<= '$X'

Я посмотрел в Интернете, а также попробовал это:

SELECT generator_64k.n
FROM generator_64k
WHERE generator_64k.n<= '" . $X . "'

Но это также просто возвращает 0.

Есть идеи? Заранее спасибо.

Ответы [ 6 ]

2 голосов
/ 18 марта 2012
$query = "SELECT generator_64k.n FROM generator_64k WHERE generator_64k.n<= {$X};";
1 голос
/ 18 марта 2012

Попробуйте или напишите свой код PHP.

<?php
$X = 100;
$query = "SELECT n FROM generator_64k WHERE n <= $X";
$result = mysql_query($query);
if (!$result) {
   echo ('Query error: ' . mysql_error());
}
0 голосов
/ 05 марта 2013

сделай так

$sql="select `username` from `users` where id='$newid';";
mysql_query($sql);

здесь $ newid - это значение типа int. Символ, используемый до и после имени пользователя, чтобы получить его, нажмите клавишу чуть ниже esc.

0 голосов
/ 18 марта 2012

Функция mysql_query () возвращает false при ошибке (false == 0), в противном случае возвращает ресурс. mysql_query не возвращает значение из набора результатов. Вы должны использовать mysql_fetch_assoc или что-то подобное для извлечения строк из набора результатов.

Также убедитесь, что вы заключили запрос в двойные кавычки, чтобы PHP мог расширить переменную $X.

Используйте mysql_error , чтобы извлечь ошибку из последнего вызова mysql_query.

0 голосов
/ 18 марта 2012

Например, php и использование переменных $ query = "select * from table1, где col1 <=". $ MyVariable; </p>

$ result = mysql_query ($ query);

0 голосов
/ 18 марта 2012

Вы не можете иметь ' вокруг своего числового значения. MySQL будет рассматривать его как строку.

Вы должны сделать это вместо

" WHERE number <= " . (int)$val . " .. "

// or (but not recommended due to security problem)
" WHERE number <= $val "
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...