Php 如果Null不起作用,则SQL更新文本值

Php 如果Null不起作用,则SQL更新文本值,php,sql,Php,Sql,我试图通过使特定值只能被设置一次,从而使我只能在它等于null时被更新或设置。出于某种原因,即使当值等于“Steve”之类的值时,PHP仍然会呼应成功。我做错了什么 PHP: 您可以使用if(mysql受影响的行($sql)==1)代替if($sql) 因为sql是执行的,并且它不会返回任何受影响的行。 因此,如果检查受影响的行,当sql更新表中至少一行时,它应该返回1为什么不在where子句中使用IS NULL来检查accepter\u name?编辑代码。仍然不起作用。即使它有值,仍然会更新

我试图通过使特定值只能被设置一次,从而使我只能在它等于null时被更新或设置。出于某种原因,即使当值等于“Steve”之类的值时,PHP仍然会呼应成功。我做错了什么

PHP:

您可以使用
if(mysql受影响的行($sql)==1)代替if($sql)
因为sql是执行的,并且它不会返回任何受影响的行。
因此,如果检查受影响的行,当sql更新表中至少一行时,它应该返回1

为什么不在where子句中使用IS NULL来检查accepter\u name?

编辑代码。仍然不起作用。即使它有值,仍然会更新。是的,这就是我想要的。但由于某些原因,即使值中包含某些内容,它也会更新。测试了多次。使用此方法,它无法插入任何内容。这不是答案。请在问题下方发表评论。@Prashant,您可能不喜欢这个答案,但它是一个答案。我很感激您会看到有经验的成员要求回答者将非回答意见作为评论,但这不适用于本案例,IMO。我建议您仅在显然不是答案时才发表这些评论(例如,寻求澄清,提出相关问题)在这些情况下,您可以将其标记为版主。无论是否为空,它仍然插入。这不是答案。在下面的问题上发表评论。我不能。没有足够的声望来评论这个问题
<?php
$dbhandle = mysql_connect($hostname, $username, $password) 
  or die("Unable to connect to MySQL");

//select a database to work with
$selected = mysql_select_db("???????",$dbhandle) 
  or die("Could not select examples");

if(empty($_POST['OrderID']) || empty($_POST['UserName'])){
            echo 'Failed. Fill out all fields.';
        }
else{
        $sql = mysql_query("SELECT * FROM orders WHERE order_id = '".$_POST['OrderID']."' AND LENGTH(accepter_name)= 0");
        $row = mysql_fetch_row($sql); // get the single row.
        echo $row['accepter_name']; // display the value.    

        if($row['accepter_name']==''){ 
            $sql = mysql_query("UPDATE orders SET accepter_name= '".$_POST['UserName']."' WHERE order_id='".$_POST['OrderID']."'");
                    echo "Success";   
        }
        else{
        echo "Failed";
         }
}
mysql_close($dbhandle);
?>