我创建了connection.php
文件并在其中编写了代码:
这是代码: -
<?php
$connection=mysqli_connect("localhost","root","");
if($connection)
{
echo "database connected: ";
}
?>
现在这样做之后我创建了另一个文件form.php
并将代码写入其中:
这是代码: -
<?php
require_once("connection.php");
if($_POST['submit'])
{
$fn=$_POST['fname'];
$ln=$_POST['lname'];
mysqli_select_db("class",$connection);
$query="INSERT INTO student(id,firstname,lastname) VALUES('','$fn','$ln')";
if(mysqli_query($query,$connection))
{
echo "inserted sucessfully:";
}
else
{
echo " error occured";
}
}
?>
问题是我在第7行遇到错误。这是一个错误: -
致命错误:未捕获错误:调用未定义的函数 第7行的F:\ wamp \ www \ MyphpPages \ form.php中的mysql_select_db()
(!)错误:调用未定义的函数mysql_select_db() 第7行的F:\ wamp \ www \ MyphpPages \ form.php
我尝试将mysql_select_db
替换为mysqli_select_db
但是当我这样做时发生了错误: -
警告:mysqli_select_db()期望参数1为mysqli,string 在第7行给出
我的动机是将数据插入表单并保存到mysql数据库中 但是不能帮助我吗?
答案 0 :(得分:3)
有很多错误: -
基于: - http://php.net/manual/en/mysqli.select-db.php
首先需要提供连接对象。所以它应该是: -
mysqli_select_db($connection,"class");
顺便说一句,你可以通过在下面的连接代码中提供数据库名称来削减这一行: -
$connection=mysqli_connect("localhost","root","","class");
同时更改如下相应的行: -
$query="INSERT INTO student(firstname,lastname) VALUES('$fn','$ln')";
和
if(mysqli_query($connection,$query))
注意: -
乍一看这个问题很多
此外,您的错误正在显示,似乎您正在将mysql_*
与mysqli_*
混合。不要这样做
您的代码对SQL注入是开放的。因此,请尝试阅读prepared statements
并使用它们。谢谢
答案 1 :(得分:1)
由于错误消息指出mysqli_select_db()
期望参数1为mysqli
。这意味着您的代码应该是
mysqli_select_db($mysqli, $dbname);
使用
初始化$mysqli
的位置
$mysqli= mysqli_connect("example.com", "user", "password", "database");
(您的$connection
,我认为)和$dbname
是您尝试选择的数据库的名称。 (&#34;班级&#34;,我认为)
更多信息:
http://php.net/manual/en/function.mysqli-connect.php
http://php.net/manual/en/mysqli.select-db.php
此外,PDO是使用PHP处理数据库连接的优先方式,afaik。
编辑:另外,我认为您的mysqli_query()
函数编写错误,因为它需要$link
个对象作为第一个参数,而$query
作为第一个参数第二个。
所以mysqli_query($connection, $query)
。