SQL:mysqli_query,没有输出

时间:2014-07-03 06:55:27

标签: php sql

session_start();
$user=$_SESSION['username'];
$con=mysqli_connect("$host","$username","$password","$db_name");
$sql1="SELECT UserID FROM User WHERE username='$user'";
$query=mysqli_query($con,$sql1);
echo $query;

我不确定这是什么问题,我已经尝试在这里搜索并尝试了不同的方法来编写语法并检查参数中的错误但仍然没有输出命令。我在这里失踪了什么?

更新

$sql1="SELECT UserID FROM User WHERE username='$user'";
$query=mysqli_query($sql1,$con);
$row=mysqli_fetch_array($query);
$uid=$row[0];
echo $uid;

正如其他人的回答,我试过这样做。仍然没有输出或输出为0。如果我在sql中尝试查询,它会显示正确的查询。

更新2

尝试了var_dump()命令并返回NULL。这是否意味着它无法读取数据库?

3 个答案:

答案 0 :(得分:1)

mysqli_query没有输出。成功查询将返回资源。您必须使用mysqli_fetch_objectmysqli_fetch_assocmysqli_fetch_array处理资源。

此外,您在 $con之前提供了$sql1参数,这是错误的。您必须先建立连接,然后是查询变量。

示例:

<?php

session_start();
$user = $_SESSION['username'];
$con = mysqli_connect("$host", "$username", "$password", "$db_name");
$sql1 = "SELECT UserID FROM User WHERE username='$user'";
$query = mysqli_query($con, $sql1);

$fetch = mysqli_fetch_assoc($query);

var_dump($fetch);

?>

答案 1 :(得分:0)

$query将成为“资源”。您可以使用例如$result = mysqli_fetch_array($query);然后echo $result[0];可能还有另一种方式,但这很简单!

答案 2 :(得分:0)

我能够使用mysql语法解决我的问题。仍然无法确定mysqli的问题,但能够完成我的任务。谢谢你回答。