こんばんは。お世話になります。phpの勉強を始めたばかりの初心者です。
sql文ではうまく行くのに、phpを通して結果を取得しようとすると、失敗してしまいます。
何がいけないのでしょうか。ご教授お願いします。
$config = [
'pdo' => [
'dsn' => 'mysql:dbname=****;host=localhost;charset=utf8',
'username' => '****',
'password' => '****',
],
];
try {
$c = $config['pdo'];
$pdo = new PDO($c['dsn'], $c['username'], $c['password']);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
$stmt = $pdo->prepare('
SELECT tables.*, members.name, members.id
FROM tables, members
WHERE tables.userid = members.id and tables.id = :id
');
$stmt->bindParam(':id', $_SESSION['id'], PDO::PARAM_STR);
$stmt->execute();
$row = $stmt->fetchAll();
} catch (PDOException $e) {
$error = $e->getMessage();
}
var_dump($row); //結果は、array(0) { }
SELECT tables.*, members.name, members.id
FROM tables, members
WHERE tables.userid = members.id and tables.id = 45
のように、idをbindしないSQL文では成功して、ちゃんとデータを取得することができます。
結合する時はbindが使えないのでしょうか……
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/19 12:49
2015/09/19 12:59
2015/09/19 15:58
2015/09/19 17:30
2015/09/20 01:42
2015/09/20 01:45