Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.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 为什么代码不起作用?_Php - Fatal编程技术网

Php 为什么代码不起作用?

Php 为什么代码不起作用?,php,Php,问题出在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_conn

问题出在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,代码是正确的

谢谢。

这一行

$link=mysqli_connect('host','username','password','database_name');
应该是:

 $link=mysqli_connect($host,$username$,$password,$database_name);

将您的连接线更改为

$link=mysqli_connect($host, $username, $password, $database_name);

使用$username、$password、$database\u name的实际连接名称。

更改连接语句如下:

 $link=mysqli_connect($host,$username$,$password,$database_name);
Ansd还可以这样更改mysql查询执行。删除$

使用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();
而不是使用:

$link = mysqli_connect('host', 'username', 'password', 'database_name');
你应该使用

$link = mysqli_connect($host, $username, $password, $database_name);
还要确保$host、$username、$password和$database\u name的值设置正确


祝你好运。看起来您已将字符串“host”传递到mysqli\u connect。。。。尝试将$host变量设置为上面的真实主机并传入$host。更新mysqli_connect'host'、'username'、'password'、'database_name';进入mysqli\u connect$host、$username、$password、$database\u name;您正在向mysqli_connect传递字符串而不是变量。使用mysqli_connect$host、$username、$password、$database_name;阅读
$link = mysqli_connect($host, $username, $password, $database_name);