Php 我的openshift应用程序PDO查询不起作用
我正在尝试使用openshift中的php脚本连接phpmyadmin数据库 但结果是一页空白 然后,我发现问题是查询不起作用 但我不知道为什么 这是我的原始代码Php 我的openshift应用程序PDO查询不起作用,php,mysql,pdo,openshift,Php,Mysql,Pdo,Openshift,我正在尝试使用openshift中的php脚本连接phpmyadmin数据库 但结果是一页空白 然后,我发现问题是查询不起作用 但我不知道为什么 这是我的原始代码 try{ $dsn = 'mysql:dbname=exampleDataBase;host=127.**.***.***;port=*****'; $dbh = new PDO($dsn, "account", "password"); $sth = $dbh->prepare(
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;
我输入了错误的查询sytanxjngfgcnmgcm,,hmnxf,但它没有返回错误。您将代码修改为错误语句以查看错误消息? 执行以下语句时,您的PHP错误已关闭:
$sth = $dbh->prepare('jngfcjfgcnmgcm,,hmnxf');
您将收到如下错误:
Sytan errorSQLSTATE[42000]:语法错误或访问冲突:1064您
SQL语法有错误;检查相应的手册
您的MySQL服务器版本需要使用正确的语法
第1行的“JNGFCFGCNMGCM,,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();
}
谢谢你的回答!我想在mysql的数据,它真的没有任何例外…谢谢你的回答,但它没有工作,我已经使用错误报告所有;ini设置“显示错误”,1;要显示php错误,它仍然是一个空页面非常感谢您的工作!!!!Sytan errorSQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解使用near的正确语法��工' 在第1行,我感谢的是编码问题,因为我使用数据库的中文