Я пытаюсь показать результаты простого оператора выбора, используя PDOPDO ошибка, когда результаты Fetching
<?php
// Define and perform the SQL SELECT query
include('config.inc');
$user = $_POST['user'];
$password = $_POST['password'];
$sql = "SELECT * FROM usuarios where user = '$user' AND password ='$password'";
$stm = $db->prepare($sql);
$stm->execute();
// here you go:
$users = $stm->fetchAll();
foreach ($users as $row) {
print $row["user"] . "-" . $row["password"] ."<br/>";
}
?>
И единственное, что я получаю ошибки, как это:
Undefined индекс: пользователь в C : \ wamp \ www \ proyect \ select.php в строке 16
Возможно, что-то очень просто, я мог бы не заметить в этом тесте, я работаю с php 5.3.5.
Это включаемый файл:
<?php
$dsn = 'mysql:host=localhost;dbname=carrito';
$username = 'root';
$password = 'root';
try {
$db = new PDO($dsn, $username, $password);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}catch (PDOException $e){
$error_message = $e->getMessage();
//include('db_error.php');
echo $error_mesage;
file_put_contents('PDOErrors.txt', $e->getMessage(), FILE_APPEND);
exit();
}
?>
Почему вы вставляете свои переменные напрямую, когда используете 'prepare()' ?? Вы должны использовать заполнители и положить '$ user' и' $ password' в свой 'execute()' – Sean
Если у вас есть 'Undefined index: user', вы не отправляете поле с именем' user'. Вы уверены, что это ваше имя? Может ли это быть «имя пользователя»? Чтобы найти ошибку, PDO взгляните на этот ответ - http://stackoverflow.com/a/15990858/689579 – Sean
Разве я не сказал, что это тест? Это не похоже на то, что я использую его в реальном мире ... Я просто хочу, чтобы он показывал некоторые результаты. Конечно, я знаю о привязке параметров. – Carlos