우선 모든 PHP
파일을 PDO
으로 바 꾸었습니다. 그러나 나는 PHP
와 함께 매우 경험이 없으므로 PDO
을 보내고 있으므로 문제가 있습니다. 내 SQL
databse에서 다음 쿼리를 실행하고 올바른 값을 반환합니다.PDO를 사용하여 MySql에 제대로 연결할 수 없음
SELECT *
FROM table_gon_0621_516
WHERE id = '1'
지금 내가 그렇게
require_once ("../Android/connect_db.php");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$table_name = 'table_gon_0621_516';
try {
$names = $db->query("
SELECT *
FROM `".$table_name."`
WHERE `id` = '1'
");
$rows = $names->fetchAll(PDO::FETCH_ASSOC);
$col_map = array_flip($rows);
echo '<pre>', print_r($rows, true), '</pre>';
} catch (PDOException $e){
die($e->getMessage());
}
처럼 내 PHP
이 사용하고 난 내 브라우저
SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected
에서이 오류가 이건 내 연결 코드
<?php
$config['db'] = array (
'host' => 'localhost',
'username' => 'admin',
'password' => 'xxxx', //checked and correct
'dbname' => 'xxxx_beta' //checked and correct
);
$db = new PDO(
'mysql:host = '.$config['db']['host'].';
dbname = '.$config['db']['dbname'],
$config['db']['username'],
$config['db']['password']
);
?>
이 페이지가 올바르게로드되고, 오류가 없으며 성공적으로 연결됩니다. 내가 도대체 뭘 잘못하고있는 겁니까?
편집 나는
$data = $names->fetch(PDO::FETCH_ASSOC);
에
$data = $names->fetchAll(PDO::FETCH_ASSOC);
을 변경하고 난 여전히 같은 문제에 봉착했습니다. 또한
2 EDIT 나는 새로운 메시지가 위의 지금 내 코드를 변경
, 내가 믿고있어 I가 연결되어 있지 않다 이러한 변화를 보여주기 위해 위의 코드를 업데이트?
은 (는) 모든 오류를보고하고 표시 할 수 있습니까? –
''$ table_name''을 쿼리에 집어 넣었으므로''FROM' ". $ table_name."'''을''FROM'$ table_name'''으로 대체 할 수 있습니다. – mzedeler
@mzedeler 좋은, 나는 그것을 몰랐다, 나는 그것을 시도 할 것이다. 감사! –