Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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
使用for时PHP将零(0)值保存到MySQL错误_Php - Fatal编程技术网

使用for时PHP将零(0)值保存到MySQL错误

使用for时PHP将零(0)值保存到MySQL错误,php,Php,我有一个表格,我有很多价值观。当我尝试将这些值保存到MySQL时,它不会保存来自表单的零值。 这是我的密码 for($i=0;$i<count($cevap_deger);$i++){ $cevapkontrol = trim($cevap_deger[$i]); if(!empty($cevapkontrol)){ $sorgu = mysql_query("insert into CRM9001(CRM9107,CRM9102,CRM9103,CRM9105,CRM91

我有一个表格,我有很多价值观。当我尝试将这些值保存到MySQL时,它不会保存来自表单的零值。 这是我的密码

for($i=0;$i<count($cevap_deger);$i++){
  $cevapkontrol = trim($cevap_deger[$i]);
  if(!empty($cevapkontrol)){
    $sorgu = mysql_query("insert into CRM9001(CRM9107,CRM9102,CRM9103,CRM9105,CRM9109,CRM9108) values ('".$cevap_deger[$i]."','".$sinav_id[$i]."','".$bolum_id[$i]."','".$soru_id[$i]."','".$birey_id[$i]."','".$kullanici_id[$i]."') ");
    header("Refresh: 0; url=dashboard.php");
  }
}
for($i=0;$i表示:

以下内容被认为是空的:

"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
$var; (a variable declared, but without a value)

请注意,仅当
$cevapkontrol
不是
中的空
时,才将数据插入数据库,如果(!empty($cevapkontrol)){}
中提到的0被视为空,则为false,并加载其他值


不要使用<代码>空< /代码>函数。它很糟糕,因为它认为所有的值都是空的,正常人不会认为是空的。

0索引值是否通过<代码>如果(空)($cVestKONTROL){
验证?什么变量的零值?到底发生了什么或没有发生什么?错误?不同的值?只是没有任何作用?请尽可能具体。不要在那里使用
empty
,它在那一点上毫无意义。
empty
不吸引人。
empty
的缩写!isset($var)| |$var==false
。换句话说,这是一个普通的布尔比较,对不存在的变量进行错误抑制。如果你甚至不喜欢PHP中的布尔规则,那根本不是你的语言。非常感谢你的快速帮助。我删除了空函数,问题就解决了。@deceze我不喜欢非严格的布尔比较ns在大多数情况下,是的。检查的值是
trim
函数的结果。由于这是一个字符串,您可以检查
if($var==“”)
。这样,您就有了一个强大的类型化评估,它可以准确地检查您想要的内容,并且只检查您想要的内容。它消除了误报的风险,并显示您确实理解了您编写的代码。PHP就像Visual Basic:您可以使用它编写出色的代码,但它使编写垃圾代码变得非常容易。我很乐意看到这是一个挑战y接受,我也试着说服其他人。绝对公平,但这不是叫
empty
名字的理由。你应该解释一下布尔比较规则,而不是说
empty
糟糕透了。如果OP用
If($cevapkontrol)替换代码
相反,什么都不会改变。@deceze是对的。我也不会这样做,最好是对布尔人也不会,因为我认为
..===true
是比较安全的检查方法。但是你是对的,我的答案可能需要少一点叫名字,并更彻底地解释为什么我认为它很糟糕我希望这些评论已经添加了这一解释。总结一下:我认为一般来说弱类型比较(包括空函数)是不好的,因为你很容易得到“误报”,导致意外的结果。这个问题就是一个完美的例子。
"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
$var; (a variable declared, but without a value)