我在这里遇到一个非常奇怪的问题,因为我可以替换记录,但由于某种原因无法创建新记录。如果我创建id = 2hdfhh4的相册,然后提交具有相同ID的相册,则会更新详细信息。如果我尝试发布新专辑没有任何反应,我甚至都没有出现任何错误?。
include("connect.php");
$photostring = implode(',',$photos);
$albumname = htmlspecialchars($albumname);
$sqlA = <<<SQL
SELECT *
FROM `albumorders`
WHERE albumid = '$albumid'
LIMIT 1
SQL;
if(!$resultA = $db->query($sqlA)){
die('There was an error running the query [' . $db->error . ']');
}
while($rowA = $resultA->fetch_assoc()){
if ($albumid = $rowA['albumid']){
mysqli_query($db,"UPDATE albumorders SET `albumid`='$albumid',`albumname`='$albumname',`imagesordered`='$photostring' WHERE `albumid`='$albumid'");
}
else {
mysqli_query($db,"INSERT INTO albumorders (`albumid`,`albumname`,`imagesordered`) VALUES ('$albumid','$albumname','$photostring')");
}
}
我的表格如下:
答案 0 :(得分:4)
if ($albumid = $rowA['albumid']){
是一项作业,因此它始终评估为true
,您将无法访问else
部分。
应该是:
if ($albumid == $rowA['albumid']) {
答案 1 :(得分:0)
在这里,您要仔细检查该值。
SQL Query将检查带有$ albumid的行是否可用。
那么,你可以做的是你可以直接检查sql结果。如果sql结果可用,则将您插入数据的行更新到表中...