0
以下のコードでデータベースからデータを取得しようとしました。 接続の詳細については、一般的な構成ファイルがあります。PDOを使用してMySQLからデータを取得する
config.inc.phpを
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "test";
try {
$connection = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e)
{
die("OOPs something went wrong");
}
?>
データベースクエリを実行するための区切りファイルがあります。
query.inc.php
<?php
require_once('config.inc.php');
$sql = 'SELECT name from table';
$statement = $connection->prepare($sql);
$statement->execute();
if($statement->rowCount())
{
$row_all = $statement->fetchall(PDO::FETCH_ASSOC);
header('Content-type: application/json');
echo json_encode($row_all);
}
elseif(!$statement->rowCount())
{
echo "no rows";
}
?>
それは代わりにJSONフォーマットされた文字列のHTTP ERROR 500
を投げます。私は、コードが構文的に有効であり、意味的エラーを見つけることができないことを見ている。構成も有効です。別のスクリプトでテストしました。
どのようなエラーが記録されますか? http://stackoverflow.com/questions/845021/how-to-get-useful-error-messages-in-php – cske
@cske:問題が見つかりました。変数 '$ connection'は、' $ conn'でconfig内で初期化されたため、未定義です。 – appkovacs
これに答えることができれば、回答を投稿してください。そうでなければ、この質問は誰にも役立たない。 – tadman