【发布时间】:2015-12-18 12:48:55
【问题描述】:
我无法创建将值插入 MySQL 数据库的 php 代码,但前提是它们不存在。
我使用 $.ajax 类型的 POST 将数组从 javascript 发送到 PHP 文件。
我是否需要额外的“SELECT”查询来检查值是否已经存在?
PHP 文件(工作,插入值):
<?php
SESSION_START();
include('config.php');
if(isset($_POST['predictedMatches'])&&$_SESSION['userid']){
$predictedMatches=$_POST['predictedMatches'];
$userid=$_SESSION['userid'];
}else die("ERROR");
$sql="";
foreach($predictedMatches as $predictedMatch){
$sql.="INSERT INTO predictions(result,userFK,matchFK,tournamentFK) VALUES('".$predictedMatch['result']."','".$userid."','".$predictedMatch['id']."','".$predictedMatch['tourid']."');";
}
if($conn->multi_query($sql) === TRUE){
echo "OK";
}else{
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
【问题讨论】:
-
是的,您需要选择检查...完成
-
使用
INSERT ... ON DUPLICATE KEY UPDATE ...比SELECT和INSERT快。我想发布我的完整答案 - @WilliamMadede 这不是重复的,你错了,请删除你的重复标志 -
@fred-ii 这不是该问题的重复,请删除您的重复标志
-
@notes-jj 再读一遍:“我需要额外的 'SELECT' 查询来检查值是否已经存在吗?” - 重复项。如果 OP 对副本有问题,则由那个人告诉我。他很可能参观了问答环节并想出了如何去做。如果 OP 没有回来并亲自告诉我我的关闭是一个错误的决定,我将重新打开。到那时,复制品就站着。
-
@Fred-ii-我在类似的帖子上查找了您的答案,我了解您是如何使用 SELECT 查询做到的,但是由于数组,我对每个循环都有,我无法执行 SQL SELECT 查询对于我数组中的每个元素?
标签: javascript php jquery mysql ajax