-1

如何避免 mysql 这样做(通过它自己或 php 脚本),即使一行中只有一个单元格是 null 或 whitspaced 像这样:' '

我们使用常规方式插入数据:

 $sql = "INSERT INTO `rows` (`results1`, `results2`) VALUES ('$res1', '$res2')";
 $res = mysqli_query($dbc, $sql);
4

5 回答 5

2
  1. 在发送数据之前在 PHP 中检查它。
  2. 将表格的列标记为NOT NULL并在插入时使用该TRIM()功能。
于 2012-05-29T14:56:16.857 回答
1

试试下面的。// $res 是您作为用户输入或其他内容获得的值。

if(empty($res))
    {
    $error[] = "not able to send as value is null";
    }

如果您有多个值,请使用数组。现在

 if(empty($error))
    {
$var = trim($res);
    // your insert code.
    }

这肯定会帮助您避免空格和空值。

于 2012-05-29T15:27:43.150 回答
0

在执行插入查询之前检查您的数据,并在查询中使用它们或使用占位符之前引用您的值,因为您容易受到 SQL 注入的攻击。

于 2012-05-29T14:55:56.060 回答
0

对于避免NULLs,您可以指定NOT NULL指令

于 2012-05-29T14:56:19.970 回答
0
$r1= trim($res1);
$r2= trim($res2);

if ($r1 ==''||$r2 ==''){

echo 'its null or whitespace';

} else {

 $sql = "INSERT INTO `rows` (`results1`, `results2`) VALUES ('$r1', '$r2')"; 
 $res = mysqli_query($dbc, $sql); 

}

它的工作。

于 2012-05-29T16:10:38.710 回答