问题出在MySQL连接和查询部分(第一部分工作):
<?php
$param=$_GET['m'];
$param=str_replace("-", " ", $param);
$param=ucwords($param);
echo $param;
$host="localhost";
$username="user_name";
$password="password_here";
$database_name="database_name_here";
$link=mysqli_connect('host','username','password','database_name');
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query=$mysqli_query($link, "SELECT column_name FROM table_name WHERE another_column_name='$param'");
echo $query;
mysqli_close($link);
?>
我收到以下错误:
“连接失败:未知的MySQL服务器主机'主机'(20)”
...根据PhpCodeChecker.com,代码是正确的。
感谢。
答案 0 :(得分:0)
这一行
$link=mysqli_connect('host','username','password','database_name');
应该是:
$link=mysqli_connect($host,$username$,$password,$database_name);
答案 1 :(得分:0)
将您的连接线更改为
$link=mysqli_connect($host, $username, $password, $database_name);
使用$ username,$ password,$ database_name。
的实际连接名称答案 2 :(得分:0)
更改连接语句,如下所示:
$link=mysqli_connect($host,$username$,$password,$database_name);
Ansd也改变了这样的mysql查询执行。删除 $ 。
$query=mysqli_query($link, "SELECT column_name FROM table_name WHERE another_column_name='$param'"); // bad practice
使用bind param而不是直接在查询中使用参数。试试这个:
$stmt = $link->prepare("SELECT column_name FROM table_name WHERE another_column_name= ?");
$stmt->bind_param('s', $param);
/* execute prepared statement */
$stmt->execute();
答案 3 :(得分:0)
而不是使用:
$link = mysqli_connect('host', 'username', 'password', 'database_name');
你应该使用
$link = mysqli_connect($host, $username, $password, $database_name);
另请确保$host
,$username
,$password
和$database_name
设置正确的值。