Mysqli PHP连接致命错误
问题描述:
我想创建一个从Web表单到使用PHP的MySQL数据库的连接。我的代码如下:Mysqli PHP连接致命错误
connection.php:
<?php
$link = mysqli_connect("", "", "", "");
if (!$link) {
echo "Error: Unable to connect to MySQL." . PHP_EOL;
echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
exit;
}
echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL;
echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL;
phpinfo();
这部分似乎工作..然后它连接到感谢you.php:
<?php
function connect()
{
$conn = mysqli_connect("", "", "", "");
}
ini_set('display_errors', 1); error_reporting(~0);
require 'connection.php';
$conn = Connect();
$query = mysqli_query($conn,"INSERT into Members (Username) VALUES('1111Username')");
$success = $conn->query($query);
if (!$success) {
die("Couldn't enter data: ".$conn->error);
}
echo "Thank You For Contacting Us <br>";
mysqli_close($conn);
?>
我收到以下错误:
Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /var/sites/i/site/public_html/ContactForm/thankyou.php on line 15
Fatal error: Call to a member function query() on null in /var/sites/i/site/public_html/ContactForm/thankyou.php on line 16
答
有几个问题与你的脚本:
1:你需要返回的连接喜欢○:
function connect()
{
return mysqli_connect("", "", "", "");
}
2:当您运行
$query = mysqli_query($conn,"INSERT into Members (Username) VALUES('1821Username')");
您已经执行的SQL的数据库,你不需要$success = $conn->query($query);
所以,你的代码应该是:
<?php
function connect()
{
return mysqli_connect("", "", "", "");
}
ini_set('display_errors', 1); error_reporting(~0);
require 'connection.php';
$conn = connect();
$query = mysqli_query($conn,"INSERT into Members (Username) VALUES('1821Username')");
if (!$query) {
die("Couldn't enter data: ".$conn->error);
}
echo "Thank You For Contacting Us <br>";
mysqli_close($conn);
?>
@弗雷德-II-为t他的一句话,我应该加上谢谢you.php? – EmmaJ
我不知道你为什么使用2个不同的文件,其中包含2个不同的连接调用。更简单的方法是使用1个连接调用,如果你想使用这个自定义函数'connect()',你需要传递连接变量给它,否则你会遇到变量作用域的问题,我相信现在发生了什么事。 –
您似乎也从之前的其他问题转载了相同的内容http://stackoverflow.com/q/43233031/1415724 - 您应该编辑它。 –