Quick Edit: Несмотря на то, что он говорит MAMP, я просто храню там свои веб-проекты, и я не использую сервер mysql, который он предоставляет (хотя, когда я пробовал это, он делал ту же ошибку), я использую mysql, который поставляется с workbench MySQL *Как правильно использовать PDO?
в коде PHP я работаю я подключиться к базе данных следующим образом:
$dbh = new PDO('mysql:host=localhost:3306;dbname=mydb', $user, $pass);
Теперь я тестировал пользователя и пароль для доступа к базе данных и с помощью моего терминала (который подключается успешно), а также с интерфейсом, который предоставляет IDE (phpStorm), который также успешно соединяется.
Мой вопрос заключается в следующем: Как пройти следующую ошибку:
Фатальная ошибка: Uncaught Ошибка: Вызов функции член запроса() на нуль в/Applications/MAMP/HTDOCS/ГИС/4Musketeers/PHP/common.php: 20
Теперь я знаю, что он упоминает линию 20, которая относится к началу моего Еогеаспа блока:
function printDirectors($sqlQuery) {
$index = 0; //Counting index for our table
global $dbh; //this is how we refer to our global $dbh up top.
foreach ($dbh->query($sqlQuery) as $result) {
echo "<tr><td class=\"index\">";
echo $index + 1 ."</td>";
echo "<td class=\"FirstName\">";
echo $result['first_name'] ."</td>";
echo "<td class=\"LastName\">";
echo $result['last_name'];
echo "</td></tr>";
$index++;
}
}
Я совершенно уверен, что запрос является правильным, поскольку оно дает мне в результат меня интересует. Запрос:
SELECT DISTINCT directors.first_name, directors.last_name
FROM directors, actors
WHERE directors.first_name = actors.first_name AND directors.last_name = actors.last_name
ORDER BY directors.first_name, directors.last_name;
И результат существо:
first_name last_name
Andrew Adamson
Guy Ritchie
James (I) Cameron
Jay Levey
Mel (I) Gibson
Это первый раз, когда я на самом деле нужно использовать PDO или SQL с PHP, так что любые советы будут высоко оценены.
Этот вопрос уже был задан десятками раз здесь. Решение всегда заключается в том, чтобы ваше соединение pdo было создано и видимо для этого вызова метода. – Shadow
Я предлагаю вам изучить rebdeanphp, который построен на PDO. Но это действительно просто. – jewelhuq
Ну, видите ли, забавно, что я попытался запустить его снова, и все прошло отлично. И я знаю, я изучил этот вопрос, за исключением того, что моя проблема была запросом и не готовилась. – SomeStudent