我知道之前已经问过这个问题,但我很抱歉,因为我不熟悉javascript,所以我无法理解。我用过这段代码
if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['formid'] == 'form2')
{
$username = $_POST['username'];
$email = $_POST['email'];
$upass = $_POST['password'];
$mysql_server = 'localhost';
$mysql_database = 'register';
$mysql_table = 'users';
$mysql_username = 'root';
$mysql_password = '';
$db = mysql_connect($mysql_server, $mysql_username, $mysql_password, $mysql_database) or die('Failed to connect to database server!<br>'.mysql_error());
mysql_select_db('register', $db) or die('Failed to select database<br>'.mysql_error());
if(mysql_query("INSERT INTO users(email,username,password) VALUES ('$username','$email','$upass')"))
{
$msg="New record created successfully";
?>
<html><body>
alert("<?php echo $msg; ?>")</body></html>
<?php
mysql_close($db);
header("location: home.php");
}
else
{
$msg="Error: " . $sql . "<br>" ;
}
exit;
}
它给我致命的错误调用未定义的函数mysql_connect()
然后我读到mysql_connect()
无法在所有系统上运行,因此我们也可以使用mysqli_connect()
。
然后我用mysql
替换了所有mysqli
,但现在我收到了这两个警告
警告:mysqli_select_db()要求参数1为mysqli,第19行的C:\ xampp \ htdocs \ loginpage.php中给出了字符串
警告:mysqli_error()期望在第19行的C:\ xampp \ htdocs \ loginpage.php中给出1个参数0 无法选择数据库
我还观看了一段视频,其中告诉我们应该找到一个名为php.ini的文件并替换extension_dir =&#34; ./"使用extension_dir =&#34; C:\ xampp \ php \ ext&#34; 但当我查看文件时,我发现了两个声明。 请帮帮我,我该怎么办。 我正在使用xampp服务器。
这是我的mysqli代码
if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['formid'] == 'form2')
{
$username = $_POST['username'];
$email = $_POST['email'];
$upass = $_POST['password'];
$mysql_server = 'localhost';
$mysql_database = 'register';
$mysql_table = 'users';
$mysql_username = 'root';
$mysql_password = '';
$db = mysqli_connect($mysql_server, $mysql_username, $mysql_password, $mysql_database) or die('Failed to connect to database server!<br>'.mysqli_connect_error());
mysqli_select_db('register', $db) or die('Failed to select database<br>'.mysqli_connect_error());
$sql="INSERT INTO users(email,username,password) VALUES ('$username','$email','$upass')";
if (mysqli_query($conn, $sql))
{
$msg="New record created successfully";
?>
<html><body>
alert("<?php echo $msg; ?>")</body></html>
<?php
mysqli_close($db);
header("location: loginpage.php");
}
else
{
$msg="Error: " . $sql . "<br>" ;
}
exit;
}
答案 0 :(得分:0)
使用mysqli_connect()而不是mysql_connect()
mysql函数不建议,它已经放弃了
答案 1 :(得分:0)
使用mysqli_*
个功能。正如您发现mysql_*
函数已经过时,甚至在较新的php中删除。
然而,新功能的不同之处在于它们将数据库连接作为第一个参数。所以调用应该看起来像(或者实际上你可以将db名称作为第4个参数传递给mysqli_connect
函数):
mysqli_select_db($db, 'register')
同样适用于查询等。