动机:如果不存在具有相同数据的行,我只想创建一行包含指定数据的行。 到目前为止我尝试过的是 -
代码:
<?php
if(empty($_GET['a'])) {$xyz ="new";} else{$xyz=$_GET['a'];}
$servername = "mysql.soemwhere.com";
$username = "u130204422_acb";
$password = "YES-I-KNOW";
$dbname = "u130204422_acb";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$output ="SELECT * FROM trailers
WHERE url='$xyz' LIMIT 1";
$result = mysqli_query($conn,$output);
while($row = mysqli_fetch_array($result)) {
$pid=$row["title"];
echo $pid;}
if (mysqli_num_rows($result) > 0) {echo 'yes';}
else{
$msql = "INSERT INTO `trailers`(`url`,`title`) VALUES ('$xyz','dekhlia')";
if ($conn->query($msql) === TRUE) {
echo "New record created successfully. Refrsh the page and it will echo dekhlia";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;}
echo "hehe";
$conn->close();}
?>
我无法弄清楚为什么这段代码不起作用。
最佳答案
您在 SQL 字符串中添加了不必要的连接。
它是毒刺的一部分,所以,将其移除。
改变
$output ="SELECT * FROM trailers
WHERE url='.$xyz.' LIMIT 1";
收件人:
$output ="SELECT * FROM trailers
WHERE url='$xyz' LIMIT 1";
关于php - 检查行是否存在否则创建一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27143151/