Вот что я имею в верхней части страницы, собирая информацию из таблиц в базе данных:информации не введена в базу данных
include_once '../assets/database.php';
$a = $_GET['a'];
$username = $_SESSION['username'];
$user_q = $db->prepare("SELECT * FROM `users` WHERE `username` = '$username'");
$user_q->execute();
$user_i = $user_q->fetch();
$aboutQ = $db->prepare("SELECT * FROM `info` WHERE uid = :id");
$aboutQ->execute(array(':id' => $user_i['id']));
$about = $aboutQ->fetch();
$about_ex = $db->prepare("SELECT * FROM `info` WHERE uid = :uid");
$about_ex->execute(array(':uid' => $user_i['id']));
$aboutRow = $about_ex->rowCount();
и нижних запросах, создание новой строки или обновлении существующего один, в зависимости от того, имеет ли пользователь строку в уже таблице:
if($a === "post") {
$motto = $_POST['motto'];
$bio = stripslashes($_POST['bio']);
$grade = $_POST['grade'];
$sex = $_POST['sex'];
$phone = $_POST['phone'];
$aboutUid = $_POST['uid'];
if($aboutRow == 0) {
$q = $db->prepare("INSERT INTO `info` (motto, bio, grade, sex, favevent, position, phone, hours, uid) VALUES (:motto, :bio, :grade, :sex, null, null, :phone, null, :uid)");
$q->bindParam(':motto', $motto);
$q->bindParam(':bio', $bio);
$q->bindParam(':grade', $grade);
$q->bindParam(':sex', $sex);
$q->bindParam(':phone', $phone);
$q->bindParam(':uid', $aboutUid);
$q->execute();
}
else {
$q = $db->prepare("UPDATE `info` SET motto=?, bio=?, grade=?, sex=?, favevent=?, position=?, phone=? hours=? WHERE uid=?");
$q->execute(array($motto,$bio,$grade,$sex,null,null,$phone,null,$aboutUid));
}
header("Location: ../members");
exit;
}
Это не дает мне ошибку - но каждый раз, когда я исполню ее ничего не происходит.
Зачем ему сообщать об ошибке? Проверьте с помощью '' mysqli_error() '] (http://php.net/mysqli-error) и [' mysqli_errno() '] (http://php.net/mysqli-errno) после выполнения запроса. – BlitZ
Где ваша ошибка/значение проверяется на этих начальных значениях SELECT? –
@CORRUPT - это больше похоже на PDO для меня; в этом случае это '$ db-> ErrorInfo()' и '$ q-> ErrorInfo()' – andrewsi