mixas
Новичок
проблема с PDO / SELECT
решил я в следующем проекте вместо всех php-db-классов заюзать PDO. пытаюсь сделать что то локально, использую примеры из мануала. запись в таблицу получилась, а вот чтение вызывает падение апача. (XAMPP => Apache 2.2.11 + MySQL 5.1.30 (Community Server) + PHP 5.2.8 )
не пойму что у меня не так.
в чём тут может быть дело?
спасибо
решил я в следующем проекте вместо всех php-db-классов заюзать PDO. пытаюсь сделать что то локально, использую примеры из мануала. запись в таблицу получилась, а вот чтение вызывает падение апача. (XAMPP => Apache 2.2.11 + MySQL 5.1.30 (Community Server) + PHP 5.2.8 )
не пойму что у меня не так.
PHP:
$user = 'root';
$pass = '';
try {
$db = new PDO('mysql:host=localhost;dbname=test3', $user, $pass, array(
PDO::ATTR_PERSISTENT => true
));
//$db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_CASE, PDO::CASE_NATURAL);
$db->query('SET NAMES utf8');
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
// запись работает
$count = $db->exec('INSERT INTO messages VALUES ( null, "'.$_SESSION['user'].'", "'.$_POST['message'].'" )');
$db->exec($sql);
// при чтении падает апач
$sql = 'SELECT * FROM messages WHERE message_id > '.$_GET['id'];
foreach ($db->query($sql) as $row) {
print $row['username'] . "\t";
print $row['message'] . "\t";
print $row['message_id'] . "\n";
}
// так тоже падает
$sql = 'SELECT * FROM messages WHERE message_id > :mess_id';
$sth = $db->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute(array(':mess_id' =>$_GET['id']));
$res = $sth->fetchAll();
спасибо