Возможный дубликат:
Как мне обновить, если существует, вставить, если нет (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"; }
Я надеюсь, что это сработает правильно для вас.