Я пытаюсь подключиться к базе данных phpmyadmin, используя мой скрипт php в openshift
но результат — пустая страница.
тогда я нахожу вопрос, запрос не работал
но я не знаю почему
Есть мой оригинальный код
try{
$dsn = 'mysql:dbname=exampleDataBase;host=127.**.***.***;port=*****';
$dbh = new PDO($dsn, "account", "password");
$sth = $dbh->prepare('SELECT * FROM test1');
$fin = $sth->execute();
while($row = $sth->fetch(PDO::FETCH_ASSOC)){
print_r($row);
}
} catch (PDOException $e){
echo "Sytan error" . $e -> getMessage();
}
$dbh = null;
и в результате получается пустая страница, поэтому я изменяю свой код
Есть мой модифицирующий код
try{
$dsn = 'mysql:dbname=exampleDataBase;host=127.**.***.***;port=*****';
$dbh = new PDO($dsn, "account", "password");
$sth = $dbh->prepare('jngfcjfgcnmgcm,,hmnxf');
$fin = $sth->execute();
while($row = $sth->fetch(PDO::FETCH_ASSOC)){
print_r($row);
}
} catch (PDOException $e){
echo "Sytan error" . $e -> getMessage();
}
$dbh = null;
Я ввел неправильный запрос sytanx (jngfcjfgcnmgcm ,, hmnxf), но он не вернул ошибку.
Добавьте это в ваш скрипт, чтобы увидеть ваши ошибки
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors',1);
ini_set('html_errors', 1);
и измените свой код запроса на это, см. примечания
try{
//port=***** is only need where its different from the default
$dsn = 'mysql:host=localhost;dbname=exampleDataBase';
$options = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);
$dbh = new PDO($dsn, "account", "password", $options);
$sth = $dbh->prepare('SELECT * FROM test1');
// execute $sth
$sth->execute();
//Change fetch to fetchAll
while($row = $sth->fetchAll(PDO::FETCH_ASSOC)){
print_r($row);
}
} catch (PDOException $e){
echo "Sytan error" . $e->getMessage();
}
Вы изменили свой код на неправильное утверждение, чтобы увидеть сообщение об ошибке?
У вас отключены ошибки PHP, когда вы выполняете операторы вроде:
$sth = $dbh->prepare('jngfcjfgcnmgcm,,hmnxf');
Вы получите сообщение об ошибке:
Сытанская ошибкаSQLSTATE [42000]: синтаксическая ошибка или нарушение прав доступа: 1064
есть ошибка в вашем синтаксисе SQL; проверьте руководство, которое соответствует
ваша версия сервера MySQL для правильного синтаксиса, чтобы использовать рядом
‘jngfcjfgcnmgcm ,, hmnxf’ в строке 1
Что именно вы хотите? Исключение не отображается?