【发布时间】:2013-11-29 03:51:39
【问题描述】:
Fatal error: Call to a member function bind_param() on a non-object
所以我试图将一些信息从表单保存到我的数据库,但尝试保存时出现此错误!,他是 mysql 连接的代码
<?php
$mysql_host = "localhost";
$mysql_username = "mydb";
$mysql_password = "db";
$mysql_database = "mydbase";
$mysqli = new Mysqli($mysql_host, $mysql_username, $mysql_password, $mysql_database);
$prepare = $mysqli->prepare("INSERT INTO `datos`(`name`,`email`,`phone`,`zipcode`,`message`) VALUES (?,?,?,?,?)");
$prepare->bind_param("ssssss", $_POST['name'], $_POST['email'], $_POST['phone'], $_POST['zipcode'], $_POST['message']);
$prepare->execute();
$mysqli->close();
?>
我想弄清楚但做不到!谢谢!
【问题讨论】:
-
一方面,您的
ssssss= 6 并且您的 POST 值 = 5 // 删除一个s -
除了 Fred 所说的,您可能应该使用
sssis,因为邮政编码始终是整数,对吧? -
尝试在
$prepare = $mysqli->prepare行之后添加echo mysqli_error($mysqli);- 表定义的sql 可能不正确。 -
@Arian,邮政编码不是整数,加拿大或许多其他国家的邮政编码也不是整数。
-
@Arian:您偶尔会听到关于将事物存储在数据库中的一种智慧,即“学习如何区分数字和看起来像数字的事物”。例如,电话号码并不是真正的整数……在美国,它是一个 10 个字符长的标识符,只是碰巧由数字组成。邮政编码、信用卡号等也是如此。
标签: php html mysql forms mysqli