Php 我的sql查询有什么问题?(菲律宾)
这个代码有什么问题?为什么我不能从Php 我的sql查询有什么问题?(菲律宾),php,mysql,sql,Php,Mysql,Sql,这个代码有什么问题?为什么我不能从网站数据库中的成员表中获取用户名。以下是数据库信息的屏幕截图: 我正在尝试为它创建一个函数,以便以后可以使用它。代码如下: <?php function get_username($username){ $host = 'localhost'; $username = 'root'; $password = ''; $database = 'website'; $con = mysqli_connect($host
网站
数据库中的成员
表中获取用户名
。以下是数据库信息的屏幕截图:
我正在尝试为它创建一个函数,以便以后可以使用它。代码如下:
<?php
function get_username($username){
$host = 'localhost';
$username = 'root';
$password = '';
$database = 'website';
$con = mysqli_connect($host, $username, $password, $database);
$query = "SELECT * FROM members WHERE username = '{$username}'";
$result = mysqli_query($con, $query);
$row = mysqli_fetch_array($result);
return $row['name'];
mysqli_close($con);
}
echo get_username('iamfaizahmed');
?>
您正在混合函数的
$username
和连接变量的$username
改变这个
function get_username($username){
到
你的问题是这样的吗
$query = "SELECT * FROM members WHERE username = '$user'";
您正在混合函数的
$username
和连接变量的$username
改变这个
function get_username($username){
到
你的问题是这样的吗
$query = "SELECT * FROM members WHERE username = '$user'";
您的用户名在函数中被覆盖
$username = 'root'; // here
因此,无论您在函数参数中传递什么,它都将始终使用
where username = 'root'
因此,请使用不同的变量名您的用户名将在函数中被覆盖
$username = 'root'; // here
因此,无论您在函数参数中传递什么,它都将始终使用
where username = 'root'
因此,首先要使用不同的变量名,
$username
变量。您正在通过函数传递它,并将其用于db连接 将函数中的dbusername更改为
$dbusername
第二,查询。保留为:
$query = "SELECT * FROM members WHERE username = '$username'";
现在,完成基本知识后,我建议您访问以下链接:
那应该会让你有所收获 首先,您的
$username
变量。您正在通过函数传递它,并将其用于db连接 将函数中的dbusername更改为
$dbusername
第二,查询。保留为:
$query = "SELECT * FROM members WHERE username = '$username'";
现在,完成基本知识后,我建议您访问以下链接:
那应该会让你有所收获 可能没有名为
name
的列?或者,$username
不存在?或者您的数据库密码可能错误?或者别的什么。你没有提供太多的信息,我现在很困惑。我想我已经回答了函数中的另一个问题$username是用mysql用户名写的,所以无论你在函数参数中发送什么,查询都会有where username='root'。我刚刚添加了答案:)@user3459778:这样的问题通常可以通过打印SQL查询字符串和/或SQL错误很快解决将消息发送到屏幕。通常,当您看到正在运行的实际查询时,很容易发现问题?或者,$username
不存在?或者您的数据库密码可能错误?或者别的什么。你没有提供太多的信息,我现在很困惑。我想我已经回答了函数中的另一个问题$username是用mysql用户名写的,所以无论你在函数参数中发送什么,查询都会有where username='root'。我刚刚添加了答案:)@user3459778:这样的问题通常可以通过打印SQL查询字符串和/或SQL错误很快解决将消息发送到屏幕。通常,当您看到正在运行的实际查询时,发现问题相当容易。通常最难的问题是由以下愚蠢错误或打字错误引起的:“)不要忘记接受答案,这样你的问题就可以结束。通常最难的问题是由以下愚蠢错误或打字错误引起的:”)不要忘了接受答案,这样你的问题就可以结束关闭