簡體   English   中英

SQL:mysqli_query,沒有輸出

[英]SQL: mysqli_query, no output

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。 這是否意味着它無法讀取數據庫?

mysqli_query沒有輸出。 一個成功的查詢返回一個資源。 您必須使用mysqli_fetch_objectmysqli_fetch_assocmysqli_fetch_array處理資源。

你還在$sql1之前給了$con參數這是錯誤的。 您必須先放置連接,然后才是查詢變量。

例子:

<?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);

?>

$query將是一個“資源”。 例如,您可以使用$result = mysqli_fetch_array($query); 然后echo $result[0]; 可能還有另一種方法,但這是一個簡單的方法!

我能夠使用 mysql 語法解決我的問題。 仍然無法確定 mysqli 的問題,但能夠完成我的任務。 謝謝各位大佬解答。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM