PHP和MYSQL,尝试将数据发送到数据库

时间:2013-03-26 03:57:58

标签: php mysql database

我目前正在尝试将数据从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 />";

?>

2 个答案:

答案 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函数被延迟并且不再维护