我目前正在尝试将数据从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 />";
?>
答案 0 :(得分: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();
答案 1 :(得分:0)
mysql_connect
不会返回任何对象....因此它没有您可以使用->
运算符访问的任何函数或属性。它返回一个连接标识符
替换
$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函数被延迟并且不再维护