Intereting Posts
Показать определенный контент на основе текущего сеанса пользователя PHP Разбор большого файла JSON PHP: массив для самостоятельной привязки PHP: Возвращает массив файлов расширения файлов внутри zip-файла? Автоматически создавать json-файл, в котором перечислены все изображения в каталоге? Библиотека PHP для преобразования HTML4 в XHTML? PHP Apostrophe и строка запроса Соединение mysqli_query для уже подключенной страницы PHP Неустранимая ошибка: вызов неопределенного метода mysqli_result :: fetch_all () Удаление акцентов без использования iconv Отправить форму в div с ajax, вернуть php в div без обновления Проблема с загрузкой данных в базу данных Как я могу узнать, на какой странице установлено приложение Facebook или какая страница загружает мое приложение? Как определить размер изображения без его загрузки (в полном объеме)? Доступ к данным с использованием отношений Laravel

проверить, существует ли строка SQL с PHP

Я использую MySQL с PHP, и мне нужно сделать что-то вроде этого (псевдокод):

if (sql row exists where username='bob') { // do this stuff } 

Если вы используете базу данных mysql, используйте следующую команду:

 $query = "SELECT username from my_table where username='bob'"; $result = mysql_query($query); if(mysql_num_rows($result) > 0) { // row exists. do whatever you would like to do. } 

Если вы хотите использовать PDO (PHP Data Object) , как предложено alex, используйте следующий код:

 $dbh = new PDO("mysql:host=your_host_name;dbname=your_db_name", $user, $pass); $stmt = $dbh->prepare("SELECT username from my_table where username = ':name'"); $stmt->bindParam(":name", "bob"); $stmt->execute(); if($stmt->rowCount() > 0) { // row exists. do whatever you want to do. } 

Ответ Сайема имеет самые высокие показатели, но я считаю, что он неверен в отношении PDO.

Из документов PHP :

Для большинства баз данных PDOStatement :: rowCount () не возвращает количество строк, на которые влияет инструкция SELECT. Вместо этого используйте PDO :: query () для выдачи оператора SELECT COUNT (*) с теми же предикатами, что и ваш запрошенный оператор SELECT, а затем используйте PDOStatement :: fetchColumn (), чтобы получить количество строк, которое будет возвращено.

 $sql = "SELECT COUNT(*) FROM fruit WHERE calories > 100"; if ($res = $conn->query($sql)) { /* Check the number of rows that match the SELECT statement */ if ($res->fetchColumn() > 0) { /* Issue the real SELECT statement and work with the results */ $sql = "SELECT name FROM fruit WHERE calories > 100"; foreach ($conn->query($sql) as $row) { print "Name: " . $row['NAME'] . "\n"; } } /* No rows matched -- do something else */ else { print "No rows matched the query."; } } $res = null; $conn = null; 

другой подход

 $user = "bob"; $user = mysql_real_escape_string($user); $result = mysql_query("SELECT COUNT(*) AS num_rows FROM my_table WHERE username='{$user}' LIMIT 1;"); $row = mysql_fetch_array($result); if($row["num_rows"] > 0){ //user exists }