Php 为什么代码不起作用?
问题出在MySQL连接和查询部分第一部分: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
<?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);