我需要INSERT INTO
数据库中是否存在值并回显"ok"。如果数据库中确实存在该值,请不要插入和回显"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>
URL 来自表单的文本区域。
您可以将查询与 mysqli 一起使用:
从TABLE_NAME中选择计数(*)其中网址=$url
并获取变量中的值并检查该值是否为零。
IF(count is greater than 0)
{
//do insertion
}
else
{
//exit
}
<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>
在执行插入语句之前,您可以使用 select 语句检查表中是否已存在$url值。
- 获取返回值的计数
-
如果等于0,则可以执行插入其他不
对于初学者来说,您在第 25 行的ok
之前缺少一个$
符号,并且在第 11 行的$_POST[url]
中url
周围应该有引号。另外,请务必使用 mysqli
而不是 mysql
,更多关于它的信息 这里.
您需要首先检查 URL 在数据库中是否可用。您可以使用以下查询进行相同的操作。
SELECT COUNT(*) FROM table WHERE url = $url
检查计数是否 = 0 则
<pre>$sql="INSERT INTO link (url) VALUES ('$url' )";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo $ok."<br>";
还
echo $notok
希望这有帮助!!
尼希特