Php 测试记录是否存在并选择sql查询
为什么我的代码不起作用Php 测试记录是否存在并选择sql查询,php,sql,ajax,pdo,mariadb,Php,Sql,Ajax,Pdo,Mariadb,为什么我的代码不起作用 <?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->rowCo
<?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"]));
}
当你的信息较少时,我可以给你更多。学习如何使用IODKU。它可以替换您提供的所有代码
INSERT into `timetables` (`who`, `day`)
VALUES (:who, :day)
ON DUPLICATE KEY UPDATE `day` = :day
(它确实要求
who
是PRIMARY
或UNIQUE
键。)请定义不工作。我在数据库的表中没有任何内容。。我在主网站上创建了时间表(表),该时间表(表)编码为JSON,并用GET on modify timeline.php发送。rowCount()
是受上次删除、插入、删除、删除、删除、删除、删除、删除、删除、删除、删除、删除、删除、删除、删除、删除、删除、删除、删除、删除、删除、删除和删除影响的行数,或者执行UPDATE语句。因此,我必须使用什么来确定who
上是否存在某些记录。此外,您的UPDATE更新每个人的记录(没有WHERE子句)。
INSERT into `timetables` (`who`, `day`)
VALUES (:who, :day)
ON DUPLICATE KEY UPDATE `day` = :day