|
|
|
| В первые начал работать с ПДО.
Вот код
<?php
$pass = 123;
$name = 'username';
$dbh = new PDO("mysql:host=localhost; bdname=base",$name, $pass);
if(!$dbh) {
exit('Соединение не установлено');
}
$sql = "SELECT * FROM `users`";
foreach ($dbh->query($sql) as $row)
echo $row['name'];
?>
|
Пишет Warning: Invalid argument supplied for foreach() in Z:\home\test1.ru\www\1.php on line 9
Подскажите, что не так? | |
|
|
|
|
|
|
|
для: (Sandr)
(28.08.2011 в 13:39)
| | Неверны аргумент для цикла foreach()
Попробуй так.
<?php
$pass = 123;
$name = 'username';
$dbh = new PDO("mysql:host=localhost; bdname=base",$name, $pass);
if(!$dbh) exit('Соединение не установлено');
$sql = "SELECT * FROM `users`";
foreach ($sql as $row)
echo $row['name'];
?>
|
| |
|
|
|
|
|
|
|
для: Jovidon
(28.08.2011 в 14:12)
| | Так тоже не работает( | |
|
|
|
|
|
|
|
для: (Sandr)
(28.08.2011 в 13:39)
| | Может так будет работать?
foreach ($dbh=>query($sql) as $row)
|
| |
|
|
|
|
|
|
|
для: julpierto
(28.08.2011 в 14:13)
| | Тоже не работает. Да и не должно, ведь мы вызываем метод, а методы вызываются с помощью -> | |
|
|
|
|
|
|
|
для: (Sandr)
(28.08.2011 в 13:39)
| | | |
|
|
|
|
|
|
|
для: Drago
(28.08.2011 в 15:39)
| | Точно!)) Спасибо) | |
|
|
|
|
|
|
|
для: (Sandr)
(28.08.2011 в 13:39)
| | Ребят, ещё есть пара вопросов..
1. Есть код
$sql = "SELECT * FROM `users` WHERE `name` = $name";
foreach ($dbh->query($sql) as $row)
echo $row['name'];
|
Как защититься от sql-иньекции в данном случае?
2. подскажите аналог этого кода в пдо:
$res = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE id = '".mysql_real_escape_string($x)."'"));
echo $res['name'];
|
| |
|
|
|
|
|
|
|
для: (Sandr)
(28.08.2011 в 17:07)
| | >Как защититься от sql-иньекции в данном случае?
Как формируется переменная $name?
PS Под новые вопросы лучше заводить новые темы. | |
|
|
|
|
|
|
|
для: cheops
(29.08.2011 в 10:29)
| | $name = $_POST['name'];
или
$name = $_GET['name']; | |
|
|
|