如何仅将代码从var_dump
更改为echo
?
代码:
$link = mysqli_connect("$myHost", "$myUser", "$myPass", "$myDB");
// Check connection
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
$username = mysqli_real_escape_string($link, $_SESSION['username']);
var_dump($username);
$sql = "SELECT * FROM exampletable where username = $username";
if ($result = $link->query($sql)) {
while ($row = $result->fetch_row()) {
var_dump($row);
}
}
因为如果我var_dump($row);
我总是得到这个:
'test@gmail.com' (length=16)
但是我只想回显用户名:)我是新来的php抱歉。
谢谢
答案 0 :(得分:1)
您的查询失败,因为您忘记在查询中的$username
周围加上引号。应该是:
$sql = "SELECT * FROM exampletable where username = '$username'";
然后您可以在循环中执行以下操作:
while ($row = $result->fetch_assoc($result)) {
echo $row['somecolumnname'];
}
在与用户名匹配的每一行中查看该列的内容。
答案 1 :(得分:0)
sarahn22!我看到您是一个新的贡献者,欢迎您使用StackOverflow。 :)
根据PHP MySQLi fetch_row()
函数documentation,每当使用它时,您都会收到一个数组,其中每一列都作为索引;如果找不到行,则返回null。
在这种情况下,考虑到用户名列为第一列,您可以通过输入以下内容来获得它:
echo $row[0];
因此,为了更好地理解,请将数据库表想象为:
username | first_name | last_name
---------------------------------
user01 | John | Snow
这将是结果:
echo $row[0]; // Shows "user01";
echo $row[1]; // Shows "John";
echo $row[2]; // Shows "Snow";
祝您在PHP学习的新道路上好运。 :)