次のエラー メッセージが表示されます。
警告: PDOStatement::execute(): SQLSTATE[42000]: 構文エラーまたはアクセス違反: 1064 SQL 構文にエラーがあります。/home/u522148874/public_html/includes/database-objects.php の 27 行目の 1 行目の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。
警告: PDOStatement::execute(): SQLSTATE[42000]: 構文エラーまたはアクセス違反: 1064 SQL 構文にエラーがあります。/home/u522148874/public_html/includes/database-objects.php の 27 行目の 1 行目の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。
サンプル1
サンプル 2
次のコードを使用する場合:
public function __construct(){
global $MySQLDatabase;
global $news;
$this->dbh = $MySQLDatabase->open_connection();
// Convert Table Fields in to Attributes
static::$db_fields = $this->get_dbFields(static::$table_name);
foreach(static::$db_fields as $field){
$this->$field = "";
}
}
// Get Table Fields from the Database
public function get_dbFields($table_name){
$sql = 'DESCRIBE ' . $table_name ;
$query = $this->dbh->prepare($sql);
$query->execute();
$result = $query->fetchAll(PDO::FETCH_OBJ);
// Get the quantity of the Table Columns
$count = count($result);
$field = array();
// Loop through each column to get the 'Field'
// ($count - 1) -> $count is minus 1 because array count starts with zero
// Example : Table Have 8 Columns
// $count will read it as 1 - 8 while array ($result[i]) reads it as 0 - 7
for($i = 0; $i <= ($count - 1); $i++){
$field[] = $result[$i]->Field;
}
return $field;
}
上記のエラーが発生しているのに、上記の出力 (サンプル 1 とサンプル 2) を取得できる理由を誰かに説明してもらえますか?
ここに私の完全なコードがあります: http://pastebin.com/xypkzs30