[英]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_object
、 mysqli_fetch_assoc
或mysqli_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.