Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP和MYSQL,试图将数据发送到数据库_Php_Mysql_Database - Fatal编程技术网

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

PHP和MYSQL,试图将数据发送到数据库,php,mysql,database,Php,Mysql,Database,我目前正在尝试将数据从HTML表单(Proform.HTML)发送到MYSQL数据库。我不知道如何解决这个不断发生的问题,因为我是php新手,我一直收到的错误消息是 “致命错误:在C:\xampp\htdocs\php\Proform.php的第22行对非对象调用成员函数query()” 这可能是可能的,因为我使用了几个不同的引用来创建这个混合了两种不同php实现的代码页面。尽管无论如何都会得到帮助,但代码如下 <?php $dbname='*****'; $dbhost='lo

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

“致命错误:在C:\xampp\htdocs\php\Proform.php的第22行对非对象调用成员函数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 />";

?>

mysql\u connect
不返回任何对象。。。。因此,它没有任何可以使用
->
运算符访问的函数或属性。它返回一个连接标识符

替换

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


我建议您开始学习mysqli或PDO,因为mysql函数被延迟并且不再维护

您的查询中有一个问题

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

你必须这样称呼它:

$con=mysql_connect($dbhost,$dbuser,$dbpass,$dbname);
$res=mysql_query("INSERT INTO Persons (First_Name, Last_Name) VALUES('$_POST[First_Name]', yes)");
mysql_close();

. 它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO,.FYI,您也完全可以使用mysql创建连接字符串,mysql不支持将数据库调用作为对象。如果您想使用它,请使用mysql\u fetch\u数组,但mysql调用不推荐使用。相反,我建议使用$con=mysqli_connect($dbhost、$dbuser、$dbpass、$dbname)切换到mysqli;你可以看看你是否想进一步了解mysql功能。我试过用这种方法和另一种方法,但数据没有提交到表单中。有什么想法吗?可能有两种类型的问题。你在那里遇到了任何错误?你只需添加或死亡(mysql_error());在查询结束时,如果您可以得到任何类型的错误,那么我可以帮助您。
$con=mysql_connect($dbhost,$dbuser,$dbpass,$dbname);
$res=mysql_query("INSERT INTO Persons (First_Name, Last_Name) VALUES('$_POST[First_Name]', yes)");
mysql_close();