0

我目前正在尝试将数据从 HTML 表单 (Proform.html) 发送到 MYSQL 数据库。我不知道如何解决这个不断发生的问题,因为我是 php 新手,我不断收到的错误消息是。

“致命错误:第 22 行 C:\xampp\htdocs\php\Proform.php 中的非对象调用成员函数 query()”

这可能是可能的,因为我使用了几个不同的参考来创建这个代码页面,我混合了两个不同的 php 版本。尽管会得到帮助,但无论如何代码如下。

    <?php

$dbname='*****';
$dbhost='localhost';
$dbpass='******';
$dbuser='******';






$dbhandle = mysql_connect($dbhost, $dbuser, $dbpass)
  or die("Unable to connect to MySQL");
echo "Connected to MySQL<br>";


//select a database to work with
$selected = mysql_select_db("ecig",$dbhandle)
  or die("Could not select examples");

$q = $dbhandle->query("INSERT INTO Persons (First_Name, Last_Name)

VALUES ('$_POST[First_Name]', yes)");



if (array_key_exists ('check_submit', $_POST )) 

echo "Your Name is : {$_POST['First_Name']}<br />";
echo "Your Second Name is : {$_POST['Second_Name']}<br />";
echo "Your Email Address is : {$_POST['Email_Address']}<br />";
echo "Your Password Is : {$_POST['Password']}<br />";

?>
4

2 回答 2

1

您的查询有问题

为什么要使用数据库连接字符串调用查询。

你必须这样称呼它:

$con=mysql_connect($dbhost,$dbuser,$dbpass,$dbname);
$res=mysql_query("INSERT INTO Persons (First_Name, Last_Name) VALUES('$_POST[First_Name]', yes)");
mysql_close();
于 2013-03-26T04:08:11.883 回答
0

mysql_connect不返回任何对象 .... 所以它没有任何可以使用->operator 访问的函数或属性。它返回一个连接标识符

代替

$dbhandle->query("INSERT INTO Persons (First_Name, Last_Name)
VALUES ('$_POST[First_Name]', yes)");`

mysql_query("INSERT INTO Persons (First_Name, Last_Name) 
VALUES ('$_POST[First_Name]', yes)")

我建议您开始学习 mysqli 或 PDO,因为 mysql 功能已延迟且不再维护

于 2013-03-26T04:07:08.937 回答