Я хочу отображать данные из базы данных с условием, что данные не найдены, вернет строковое значение «данные недоступны или уже удалены»
$Q = mysql_query("SELECT *
FROM geosekolah
JOIN kecamatan USING (id_kecamatan)
JOIN kelurahan USING (id_kelurahan)
where id_sekolah = ".$id )
or die(mysql_error());
if ($Q){
$posts = array();
if (mysql_num_rows($Q))
{
while($post = mysql_fetch_assoc($Q)){
$posts[] = $post;
}
}
$data = json_encode(array('results'=>$posts));
if (!mysql_num_rows($Q)) {
echo "data not available or already deleted";
exit;
}
}
выше приведен код, который я создал, но он не сработал. когда данные содержатся в базе данных, всегда отображать строку «данные недоступны или уже удалены» как решить проблему, спасибо всем, кто помог ответить.
Каждый раз, когда вы используете расширение базы данных mysql_
в новом коде Это случилось, оно устарело, было уже много лет и навсегда исчезло в PHP7. Если вы только изучаете PHP, потратьте свою энергию на изучение расширений базы данных PDO
или mysqli
и подготовленных операторов. Начните здесь
Прежде всего, я бы проверил, работает ли mysql_, потому что он устарел после PHP 5.5. Если это сработает для вас, я проверю, действительно ли mysql_fetch_assoc что-нибудь возвращает. Вы всегда можете проверить $ posts и sizeof () вместо mysql_num_rows в условии.
@NicholasNur, эта функция не для SELECT
Во-первых, вы повторяете только в том случае, если строк не найдено. Какая версия PHP запускается?
Кроме того, вы даже успешно подключились, используя тот же mysql api? Имеет ли $id
ценность?
Люблю, когда они либо больше не отвечают, либо уходят.
Ваша версия Php?