0

我一直有一个小问题……看看这个插入语句。

这是我的连接(在本地服务器上)

$c2d = mysqli_connect("localhost","root","","database name here")or die("connection not set" . mysqli_error);

这是我的插入语句,也是我通常的做法。

$insertUsrAccDetQS = "INSERT INTO user-tbl-here (usern, usrp, usere) VALUES ('x','y','z');" or die('no good on 001' . mysqli_error);

当我在上面使用它时,我得到了这种性质的错误......

 Notice: Use of undefined constant mysqli_error - assumed 'mysqli_error'

不管我对它做了什么改变(已经做了大约一个小时),它总是给我一些错误,所以我对自己说,“让我在 phpMyadmin 应用程序中手动插入,这样我就可以看到方法IT 编写 SQL INSERT 代码,将 SQL 复制/粘贴到我的应用程序中,看看会发生什么。

当我这样做时,phpMyadmin 退回给我的返回的 INSERT 代码是

$insertUsrAccDetQS = "INSERT INTO `database name here`.`user-tbl-here` (`usern`, `usrp`, `usere`) VALUES ('$x','$y','$z');" or die('no good on 001' . mysqli_error);

果然,我复制/粘贴到我的 PHP 文档中,运行它并且它工作,值被输入到数据库中。

我能看到的唯一区别是

1 - phpMyAdmin 将数据库名称放在查询字符串的其余部分前面

2 - 它在该字符串中的所有名称/值上加上引号。

但是我确实在连接声明中命名了数据库名称,并且我使用了插入语句,就像我上面的原始语句一样,它总是有效的。

所以问题是......什么给了?我也在网上大量查看其他人INSERT的陈述/表格,例如,在这个wiki中,它是按照我一直在做的方式形成的。

我超级困惑。我很乐意感谢任何解释/链接/提示等。

4

2 回答 2

5

在 mysqli_error 末尾添加括号,因为它是一个函数,而不是变量,像这样:

or die('no good on 001' . mysqli_error() );
                                       ^----- HERE
于 2012-10-13T10:42:34.467 回答
2

mysqli_error 是一个函数吗?如果是这样,它需要括号 - mysqli_error()

于 2012-10-13T10:42:49.573 回答