Есть следующий код, где $query должна возвращать цену, что собственно, не происходит. Вызывая код выводит id(?id=1, например) корректно. А как доходит до цикла(можно и без цикла, тоже не работает), вылазит ничего. Спасибо за внимание. PS: с функцией execute бился но ничего не понял, похоже.
<?php
ini_set('display_errors','On');
error_reporting('E_ALL');//показ ошибок
$host = 'localhost'; // имя хоста
$database = 'test_sql'; // имя базы данных
$user = 'root'; // имя пользователя
$pswd = ''; // пароль
$dbh = mysql_connect($host, $user, $pswd) or die("Не могу соединиться с MySQL.");//соединение с бд
mysql_select_db($database) or die("Не могу подключиться к базе.");
$id = $_GET['id'];//получаем id(?id=some id)
$query = "SELECT 'price' FROM 'oc_product' WHERE 'product_id' = $id";//выгрузка из таблицы
$res = mysql_query($query);//вроде как возвращает id из $query
$row = mysql_fetch_array($res);//вызов массива или поля. Сюда передаем $res как параметр. Выдает массив(mysql_fetch_array). Значение поля(mysql_fetch_row)
while($row = mysql_fetch_array($res)){
echo "Цена: ".$row."<br>";//вывод цены
}
?>
<!-- проверка id -->
<div><?php echo $id; ?></div>
Предполагаю, что у вас в базе пока по одной строке с ценами на товары. А выборка в скрипте делается минимум дважды. При этом первый результат он отбрасывает.
Я исправил скрипт, удалив лишнее. Попробуйте так:
<?php
ini_set('display_errors','On');
error_reporting('E_ALL');//показ ошибок
$host = 'localhost'; // имя хоста
$database = 'test_sql'; // имя базы данных
$user = 'root'; // имя пользователя
$pswd = ''; // пароль
$dbh = mysql_connect($host, $user, $pswd) or die("Не могу соединиться с MySQL.");//соединение с бд
mysql_select_db($database) or die("Не могу подключиться к базе.");
$id = $_GET['id'];//получаем id(?id=some id)
$query = "SELECT 'price' FROM 'oc_product' WHERE 'product_id' = $id";//выгрузка из таблицы
$res = mysql_query($query);//вроде как возвращает id из $query
while($row = mysql_fetch_array($res)){
echo "Цена: ".$row[0]."<br>";//вывод цены
}
?>
<!-- проверка id -->
<div><?php echo $id; ?></div>
Также обратите внимание, что расширение MySQL устарело, начиная с версии PHP 5.5.0, и удалено в PHP 7.0.0. Рекомендуется вместо него использовать расширения MySQLi или PDO_MySQL.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Почему require открывает файл а fwrite вызывает ошибку? Warning: fwrite() expects parameter 1 to be resource, string given in
ЗдравствуйтеВозникла небольшая проблема с принятием POST данных при передаче их в PHP скрипт через ajax метод
Если не сложно, помогите разобраться с массивами и их выводамиПроблема в том, что простые массивы (ассоциативные или нет) - вывожу без проблем...
Добрый день профиСкажите, как с помощью рег выражений, удалить в строке две подряд звездочки? (лучше, если их больше чем одна подряд)