0

我想在使用 php 5.3 插入之前检查 URL 是否已在表中可用。

+-------------+------------+
+ 杜尔 + surl +
+-------------+------------+
+ abc + xyz +
+ mno + pqr +
+ efg + jkl +
+-------------+------------+

如果我添加 abc,它会给我存储在 col 2[surl] xyz 中的值。
如果不将其添加到数据库中。

<?php
$dbhost = '****';
$dbuser = '****';
$dbpass = '****';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
    die('Could not connect: ' . mysql_error());
}
$query="select * from new where durl = tmp";
$result = mysql_query($query);
if (mysql_num_rows($result)>0) {
    // return value of col 2
} 
else { 
$sql = 'INSERT INTO new '.
        '(durl,surl) '.
        'VALUES ( "tmp", "XYZ")';
mysql_select_db('a4806808_my');
$retval = mysql_query( $sql, $conn );
mysql_close($conn);
}
?>
4

3 回答 3

0

在 Mysql 中,你应该像这样用 '' 或 "" 引用一个字符串:

$query="select * from new where durl = 'tmp'";

如果 tmp 是一个 php 变量,你的代码应该是这样的:

$query="select * from new where durl = '$tmp'";
于 2013-08-19T06:00:57.783 回答
0

检查您的两个数据库字段类型 id text 或 varchar 我认为tmp是一个字符串值,因此您需要在引号中匹配然后尝试:-

 $query="select * from new where durl = 'tmp'";
    $result = mysql_query($query);
    if (mysql_num_rows($result)>0) {
        // return value of col 2
    } 
    else { 
    $sql = 'INSERT INTO new 
            (durl,surl)
            VALUES ( "tmp", "XYZ")';
    mysql_select_db('a4806808_my');
    $retval = mysql_query( $sql, $conn );
    mysql_close($conn);
于 2013-08-19T05:10:25.123 回答
0

在继续查询之前选择您的数据库,正如@Rakesh 所说,如果 db 类型是 text 或 varchar,则用引号将您的值括起来。

例如:

$dbhost = '****';
$dbuser = '****';
$dbpass = '****';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die(mysql_error());
mysql_select_db('a4806808_my') or die("couldn't select the database"); //select your database before continuing

$query="select * from new where durl = 'tmp'"; //use quotation marks around 'tmp' as rakesh said.
$result = mysql_query($query);
if (mysql_num_rows($result)>0) {
   // return value of col 2
} else { 
   $sql = 'INSERT INTO new '.
        '(durl,surl) '.
        'VALUES ( "tmp", "XYZ")';
   $retval = mysql_query( $sql, $conn );
}

mysql_close($conn); //close your connection after everything is done
于 2013-08-19T05:39:18.627 回答