Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 查看MySql中的匹配项_Php_Mysql - Fatal编程技术网

Php 查看MySql中的匹配项

Php 查看MySql中的匹配项,php,mysql,Php,Mysql,我有一个表单,它有一个文本框,带有一个名为ref的属性。一旦提交,它会更新数据库中我的字段的名称。我有这个代码工作正常,但我现在需要的是它检查输入文本框的数据是否存在于数据库中,如果存在,那么它应该通知用户选择另一个引用。以下是我的php端代码: $ref = mysql_real_escape_string($_REQUEST['ref']); $id = $_GET['public']; $con = mysql_connect("localhost", "*****", "******"

我有一个表单,它有一个文本框,带有一个名为ref的属性。一旦提交,它会更新数据库中我的字段的名称。我有这个代码工作正常,但我现在需要的是它检查输入文本框的数据是否存在于数据库中,如果存在,那么它应该通知用户选择另一个引用。以下是我的php端代码:

$ref = mysql_real_escape_string($_REQUEST['ref']);
$id = $_GET['public'];

$con = mysql_connect("localhost", "*****", "******");
if (!$con) {
    die('Could not connect: ' . mysql_error());
}

mysql_select_db('*****', $con);

$sql = "UPDATE public SET ref = '$ref' WHERE public_id = '$id'";

if (!mysql_query($sql, $con)) {
    die('Error: ' . mysql_error());
} else {
    echo '<hr><h2>Reference Number Has Been Assigned Successfully</h2><hr>';
}
$ref=mysql\u real\u escape\u字符串($\u请求['ref']);
$id=$_GET['public'];
$con=mysql_connect(“localhost”,“****”,“*******”);
如果(!$con){
die('无法连接:'.mysql_error());
}
mysql_select_db('*****',$con);
$sql=“UPDATE public SET ref='$ref',其中public_id='$id';
if(!mysql_query($sql,$con)){
die('Error:'.mysql_Error());
}否则{
echo“
参考号已成功分配
”; }
有什么想法吗,伙计们


谢谢

您可以获得受影响的行数:

$rowsAffected = mysql_affected_rows($con);
if($rowsAffected) {
    //something WAS changed!
}
else {
    //NOTHING was changed ... :-(
}

我也会小心的

您可能希望使用
mysqli
PDO
的准备好的查询来完成您想要做的事情


根据OP的以下评论:
。。。
if(!mysql_query($sql,$con)){
die('Error:'.mysql_Error());
}否则{
$rowsAffected=mysql\u受影响的行($con);
如果($rowsAffected){
echo“
参考号已成功分配
”; } 否则{ //显示一些错误消息? } }
在本例中,首先运行select命令以搜索具有特定参考号的记录。如果结果为eof,则运行insert命令。如果不是EOF,则向用户发送警告,说明参考号存在,然后选择另一个。

多少?如何将此代码混合到上面的更新语句中?:Sit不显示任何错误消息。它只是将相同的数据提交到数据库?@MohemaBurhan
$rowsAffected
是一个整数。如果号码不是
0
,那么它是成功的,否则你应该点击else并显示错误消息。嗯?对不起,我是新来php的,所以请容忍我。我的文本框包含一些随机生成的值。这些值是字母和数字的组合。我已经复制了你的代码,在else部分,我已经放了一个echo语句。我复制了数据库中相同的参考号,但没有用。它仍然提交相同的数据,没有显示任何错误。@MohemaBurhan然后在MySQL中将列设置为唯一,这不是PHP的功能,而是数据库设计的功能。
...

if (!mysql_query($sql, $con)) {
    die('Error: ' . mysql_error());
} else {

    $rowsAffected = mysql_affected_rows($con);
    if($rowsAffected) {
        echo '<hr><h2>Reference Number Has Been Assigned Successfully</h2><hr>';
    }
    else {
        //show some error message?
    }
    
}