Я использую этот код для своего школьного проекта, в котором моя программа должна иметь возможность автоматически отвечать на запросы, которые были отправлены ему с использованием программы с открытым исходным кодом.PDO в MySQL-запросе через переменные String
Мне удалось создать простой автоответ с ним с помощью того, кто хорошо осведомлен об этом. Однако я борюсь за получение значений через PHP-MySQL со строковыми переменными.
$reqproduct = $db->query("SELECT Crop FROM crops WHERE Crop = '$product'");
$reqprice = $db->query("SELECT Price FROM crops WHERE Crop = '$product'");
И, конечно же, я потерпел неудачу ужасно.
Затем я попытался изучить PHP: PDO, но я все равно зациклился на том, как использовать его команды даже с помощью своей документации.
Вот отрывок из того, что я пытаюсь сделать:
<?php
try{
//test database connection
$db = new PDO('mysql:host=localhost;dbname=gammu;','root');
echo "Connected<p>";}
catch (Exception $e){echo "Unable to connect: " . $e->getMessage() ."<p>";}
//get data from database through decoded message
$product = 'Okra'; //sample decoded message
$sth = $db->prepare('SELECT Crop FROM crops WHERE Crop = :product');
$sth->execute(array(':product' => "{$product}"));
$result = $sth->fetchAll();
foreach ($result as $row) { $reqproduct = $row; break;}
$sth = $db->prepare('SELECT Price FROM crops WHERE Crop = :product');
$sth->execute(array(':product' => "{$product}"));
$result = $sth->fetchAll();
foreach ($result as $row) { $reqprice = $row; break;}
//to be sent to the sender
$message = "The price of $reqproduct is $reqprice/kilo." ;
echo $message;
$db = null;
?>
Я хотел бы получить значение, что внутри $ сообщения, любая помощь будет очень ценна.
Также, crops.sql содержит 3 колонки. А именно: «ID», «Crop» и «Price».
Вы должны иметь в своей строке pdo пользователя и пароль, я вижу только пользователя. – Mihai
Чтобы помочь вам понять содержимое '$ row' и' $ result', используйте 'var_dump ($ result);' и 'var_dump ($ row);' Первый - это 2D-массив, содержащий второй. Поэтому вам нужно получить значение 'Crop' по индексу массива. '$ reqprice = $ row ['Crop'];' –
В противном случае ваш код довольно хорош. Я бы рекомендовал использовать отступы вместо встроенных блоков '{}' в структурах управления, таких как 'foreach', и не использовать' '{$ product}' ', когда вам просто нужна переменная' $ product'. –