Как проверить, существует ли значение в базе данных MySQL

Возможный дубликат:
Как мне обновить, если существует, вставить, если нет (aka upsert или merge) в MySQL?

Я знаю, что это довольно просто .. но по какой-то причине это не работает для меня. У меня есть форма, которая хранит идентификатор пользователя Facebook, чтобы проверить, не отправили ли они форму. У меня есть форма, которая автоматически вводит идентификатор пользователя в базу данных. Его просто эта часть проверки, если значение идентификатора пользователя существует в базе данных, которая меня отключает.

Вот мой код ….

$user_id = 1234567890; $checkUserID = mysql_query("SELECT fbUserID from submissions WHERE fbUserID = '$user_id'"); if ($checkUserID) { echo "GTFO BRO"; } 

Всякий раз, когда я делаю «эхо» в переменной $ checkUserID, я возвращаю это. «Идентификатор ресурса № 9»

mysql_query возвращает ресурс, содержащий результат запроса, вам нужно использовать что-то вроде этого:

 $user_id = 1234567890; $checkUserID = mysql_query("SELECT fbUserID from submissions WHERE fbUserID = '$user_id'"); if (!$checkUserID) { die('Query failed to execute for some reason'); } if (mysql_num_rows($checkUserId) > 0) { echo "User id exists already."; $user = mysql_fetch_array($checkUserId); print_r($user); // the data returned from the query } 

Я думаю, что строка запроса неверна. Если вы используете двойные кавычки, вам придется изменить его на

 .... WHERE fbUserId = '{$user_id}'" 

или вы должны конкатенировать его

 ..... WHERE fbUserId = '" . $user_id . "'" 

попробуйте следующий фрагмент кода:

 $checkUserID = mysql_query("SELECT fbUserID from submissions WHERE fbUserID = '$user_id'"); while($test = mysql_fetch_array($checkUserID)) if ($test ) { echo "GTFO BRO"; } 

Я надеюсь, что это сработает правильно для вас.