Подскажите пожалуйста, почему не работает данное условие?
<?php
$host = 'localhost';
$db = '';
$user = '';
$pass = '';
$charset = 'utf8';
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$pdo = new PDO($dsn, $user, $pass);
$stmt = $pdo->query("SELECT * FROM task WHERE id_t = ".$_GET['id']."");
while ($row = $stmt->fetch()) {
if ($row['process_t'] == $_POST['process_t']) {
$pdo = new PDO($dsn, $user, $pass);
$s1="UPDATE task SET name_t='".$_POST['name_t']."', desc_t='".$_POST['desc_t']."', process_t='".$_POST['process_t']."', status_t='".$_POST['status_t']."', client_t='".$_POST['user_id']."' WHERE id_t='".$_POST['id']."'";
}
else {
$stmt2 = $pdo->query("SELECT * FROM stages limit 1");
while ($row2 = $stmt2->fetch()) {
$pdo = new PDO($dsn, $user, $pass);
$s1="UPDATE task SET name_t='".$_POST['name_t']."', desc_t='".$_POST['desc_t']."', process_t='".$_POST['process_t']."', status_t='".$row2['status_t']."', client_t='".$_POST['user_id']."' WHERE id_t='".$_POST['id']."'";
}
}
}
$pdo->exec($s1);
header("Location: /taskedit/?done&id=".$_POST['id']."");
?>
Такие ошибки: PHP Notice: Undefined index: id in * on line 11
PHP Fatal error: Call to a member function fetch() on boolean in * on line 12
Вот что вы пытаетесь сделать
$stmt = $pdo->query("SELECT * FROM task WHERE id_t = ".$_GET['id']."");
вот что вы получаете
PHP Notice: Undefined index: id in * on line 11
В переводе на русский, вам сказано, что в _GET
нет поля id
. параметр не передан.
Что получаете в тексте запроса, если параметра нет? Вот что
SELECT * FROM task WHERE id_t =
Валидный ли этот запрос? нет. очевидна синтаксическая ошибка. Что возращает метод query
? в данном случае? Возвращает false
.
Что вы далее делаете?
$row = $stmt->fetch()
у false
есть метод fetch
? Нет. Что вам пхп отвечает на это?
PHP Fatal error: Call to a member function fetch() on boolean in * on line 12
В переводе - невозможно вызвать метод fetch
у булевой переменной.
Что надо в этой ситуации сделать?
$_GET['id']
передан скрипту.prepare
и execute
Виртуальный выделенный сервер (VDS) становится отличным выбором
У меня есть меню, которое управляется стрелками и на нажатие Enter переходит по нужному пунктуПроблема в том, что все нажатия Enter сохраняются...
cout не ключевое словоОн подключается через библиотеку iostream и сам редактор vs говорит что это функция