crocodile2u
http://vbolshov.org.ru
PDO_mysql: неправильные результаты выборок.
PHP Version => 5.1.2RC1
Выполняя этот код, я ожидаю получить следующий результат:
На самом деле же получаю:
Ожидаемый же результат получаю лишь если раскомментирую строки unset($stmt);
Я считаю, это некорректное поведение. Что думает многоуважаемый all?
Собственно, подозреваю, что это может относиться не только к PDO...
PHP Version => 5.1.2RC1
PHP:
$pdo = new PDO('mysql:host=localhost;dbname=test', 'root', 'vitek');
$sql_create = "CREATE TABLE `test1` (num int not null)";
$sql_insert = "INSERT INTO `test1` VALUES (1), (2)";
$sql_drop = "DROP TABLE `test1`";
$sql_select = "SELECT * FROM test1";
$sql_select1 = "SELECT * FROM test1 WHERE num = 1";
$sql_select2 = "SELECT * FROM test1 WHERE num = 2";
$pdo->exec($sql_create);
$pdo->exec($sql_insert);
$stmt = $pdo->query($sql_select);
echo "<pre>";
echo "All rows:\n";
while($row = $stmt->fetch())
{
echo $row['num']."\n";
}
//unset($stmt);
$stmt = $pdo->query($sql_select1);
echo "num = 1:\n";
while($row = $stmt->fetch())
{
echo $row['num']."\n";
}
//unset($stmt);
$stmt = $pdo->query($sql_select2);
echo "num = 2:\n";
while($row = $stmt->fetch())
{
echo $row['num']."\n";
}
$pdo->exec($sql_drop);
echo "</pre>";
PHP:
All:
1
2
num = 1:
1
num = 2:
2
PHP:
All:
1
2
num = 1:
num = 2:
Я считаю, это некорректное поведение. Что думает многоуважаемый all?
Собственно, подозреваю, что это может относиться не только к PDO...
строки - раз. И два - мне кажется, результаты выполнения приведеного мной кода нелогичные. С удовольствием выслушаю аргументы в пользу обратной точки зрения.