Проверьте, существует ли запись и выберите SQL запрос - PullRequest
0 голосов
/ 12 июня 2018

Почему мой код не работает?

<?php
session_start();
require_once("connecting-to-database.php");

$query = $pdo->prepare("SELECT * FROM `timetables` WHERE `who` = :who");
$query->execute(array(
":who" => $_SESSION["id"]["username"]));

if ($query->rowCount() > 0) {
    $query = $pdo->prepare("UPDATE `timetables` SET `who` = :who, `day` = :day");
    $result = $query->execute(array(
    ":who" => $_SESSION["id"]["username"],
    ":day" => $_GET["timetable"]));
} else {
    $query = $pdo->prepare("INSERT into `timetables`(`who`, `day`) VALUES(:who, :day)");
    $result = $query->execute(array(
    ":who" => $_SESSION["id"]["username"],
    ":day" => $_GET["timetable"]));
}

Я не вижу ошибок, потому что я использую AJAX с методом GET.

На основном веб-сайте у меня есть:

var rocket = JSON.stringify(timetable);

var xhttp = new XMLHttpRequest();
xhttp.open("GET", encodeURI("modify-timetable.php?timetable=" + rocket), true);
console.log(rocket);

Когда у вас будет меньше информации, я могу дать вам больше.

1 Ответ

0 голосов
/ 13 июня 2018

Узнайте, как использовать IODKU.Он может заменить весь представленный вами код.

INSERT into `timetables`    (`who`, `day`)
    VALUES                  (:who,  :day)
    ON DUPLICATE KEY UPDATE `day` = :day

(Требуется, чтобы who был PRIMARY или UNIQUE key.)

...