Чтение строки из переменной для SQL-запроса

0

SQL newb здесь...

$db_result = mysql_query("SELECT first_name FROM gamers WHERE comp_id = 'myid'"); работает так, как я хочу.

$compid1 = 'myid';
$db_result = mysql_query("SELECT first_name FROM gamers WHERE comp_id = @compid1");

не дает одинаковых результатов.

Я также пробовал $compid1 и другие вещи, но безуспешно.

Извините за простой вопрос, но ответ все еще ускользает от меня. Благодарю!

ОБНОВЛЕНИЕ: О да... вопрос. Как я могу использовать предварительную переменную для моей проверки WHERE?

Теги:

2 ответа

2
Лучший ответ

Вам нужно использовать $ перед переменной, а не @. И вам нужно поставить кавычки вокруг него, так как это строка:

$db_result = mysql_query("SELECT first_name FROM gamers WHERE comp_id = '$compid1'");

Однако было бы лучше, если бы вы перестали использовать расширение mysql. Используйте PDO или mysqli и используйте подготовленные операторы с параметрами. Например, в PDO это будет:

$stmt = $conn->prepare("SELECT first_name FROM gamers WHERE comp_id = :compid");
$stmt->bindParam(':compid', $compid1);
$stmt->execute();
  • 0
    Спасибо! если бы я запустил версию PDO, как бы я взял $ db_result?
  • 2
    Вы используете $stmt->fetch() чтобы получить результаты. Это все в документации PDO.
1

Вставьте строковую переменную внутри пары кавычек.

$compid1 = 'myid';
$db_result = mysql_query("SELECT first_name FROM gamers WHERE comp_id = '$compid1'");
  • 0
    Спасибо! Я бы тоже поставил вам зеленую галочку, если бы у меня был дополнительный, но Бармар победил вас.
  • 0
    Все в порядке. Мне достаточно одного upvote :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню