我正在尝试将$array
的值插入MySQL,并且遇到一个问题,即我在数据库中获取的值为零:
$v = mysqli_real_escape_string($connect, $array[0][0]);
mysqli_query($connect, 'INSERT INTO myTable(col)VALUES("'.$V.'")');
答案 0 :(得分:2)
您已将值设置为变量$v
,但是在执行查询时,您正在SQL中使用大写字母$V
。 PHP variables are case sensitive,因此$V
未定义。这只是一个错字,但我将尽力解释它在数据库中如何最终为零。
该未定义变量的值为null
,但是您在字符串上下文中使用它,因此它变为空字符串。当您尝试将其插入数字类型列时,该空字符串将得到converted to zero by MySQL。
如果您在开发服务器上enable warnings and notices,可能会遇到类似的问题。 PHP将告诉您未定义的变量,这将使避免此类问题变得更加容易。