2016-11-19 20 views
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を投げます。私は、コードが構文的に有効であり、意味的エラーを見つけることができないことを見ている。構成も有効です。別のスクリプトでテストしました。

+1

どのようなエラーが記録されますか? http://stackoverflow.com/questions/845021/how-to-get-useful-error-messages-in-php – cske

+0

@cske:問題が見つかりました。変数 '$ connection'は、' $ conn'でconfig内で初期化されたため、未定義です。 – appkovacs

+1

これに答えることができれば、回答を投稿してください。そうでなければ、この質問は誰にも役立たない。 – tadman

答えて

0

問題が見つかりました。変数$connectionは、コンフィグレーションで$connとして初期化されたため、未定義です。 以下のコードをデバッグに使用することができます。

error_reporting(E_ALL); 
ini_set('display_errors', '1'); 
関連する問題