如果数据库中不存在值并且回显"确定"我需要INSERT INTO
。如果数据库中确实存在该值,请不要插入并回显" not ok"。
这是我的简单代码;
<html>
<body>
<?php
$con = mysql_connect($host, $user, $pass) or die("Could not connect to host.");
mysql_set_charset('UTF8',$con);
if (!$con) {
die('Could not connect: ' . mysql_error());
}
$url= $_POST[url];
$ok = "ok";
$notok = " Not ok";
mysql_select_db($database, $con) or die("Could not find database.");
$sql="INSERT INTO link (url) VALUES ('$url' )";
if (!mysql_query($sql,$con)) {
die('Error: ' . mysql_error());
}
echo $ok."<br>";
mysql_close($con)
?>
</body>
</html>
网址来自表单的文本区域。
答案 0 :(得分:1)
您可以使用mysqli查询:
从TABLE_NAME中选择计数(*) 其中URL = $ url
获取变量中的值并检查值是否为零。
IF(count is greater than 0)
{
//do insertion
}
else
{
//exit
}
答案 1 :(得分:0)
<html>
<body>
<?php
$con = mysql_connect($host, $user, $pass) or die("Could not connect to host.");
mysql_set_charset('UTF8',$con);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
$url= $_POST[url];
$ok = "ok";
$notok = " Not ok";
mysql_select_db($database, $con) or die("Could not find database.");
///select url if already exist.
$q = "select url from link where url = '".$url."' ";
$mq = mysql_query($q) or die(mysql_error());
$mc = mysql_num_rows($mq);
//if mysql_num_rows return zero that means url is not exists in table and insert into table otherwise ignore it.
if($mc == 0)
{
$sql="INSERT INTO link (url) VALUES ('$url' )";
mysql_query($sql) or die(mysql_error());
echo ok."<br>";
}
else
{
echo "Not Ok";
}
mysql_close($con)
?>
</body>
</html>
答案 2 :(得分:0)
在执行insert语句之前,您可以使用select statment检查表中是否已存在$ url值。
如果等于0,则可以执行插入而不是
答案 3 :(得分:-1)
对于初学者而言,您在第25行的$
之前错过了ok
个符号,并且第11行的url
中的$_POST[url]
周围应该有引号另外,请务必使用mysqli
代替mysql
,更多地使用here。
答案 4 :(得分:-1)
您需要首先检查数据库中是否有URL可用。您可以使用以下查询。
SELECT COUNT(*) FROM table WHERE url = $url
检查Count = 0然后
<pre>$sql="INSERT INTO link (url) VALUES ('$url' )";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo $ok."<br>";
其他
echo $notok
希望这有帮助!!!
Nishit