iT邦幫忙

0

關於mysqli_query

我用mysqli_query回傳的是空值

程式碼如下:
$ql = "SELECT * FROM player";
echo $ql;
$result = mysqli_query($connect, $ql);
if (!$result)
{
echo "沒有值";
echo mysqli_error($connect);
}

用mysqli_error看報錯訊息如下:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

0
海綿寶寶
iT邦大神 1 級 ‧ 2021-06-10 08:51:53
最佳解答

W3School的方式
二選一(Object Oriented Style/Procedural Style)
先完全照抄
成功之後再慢慢修改成你要的樣子

Shinichi iT邦新手 5 級 ‧ 2021-06-10 15:52:58 檢舉

問題解決了!但能問一下知道位甚麼上面的方法會抓不到資料嗎?

沒看到完整的程式碼
沒法子猜

0
Peter學程式
iT邦研究生 4 級 ‧ 2021-06-10 00:14:23

請問一下你用 cmd 去下這一道 sql 語句時也是報這個錯誤嗎?因為這一句 sql 感覺沒問題,也沒有用到保留字,真奇怪...
另外,建議改用 PDOmysqli_query 不安全。

Shinichi iT邦新手 5 級 ‧ 2021-06-10 00:30:32 檢舉

我要怎麼改用cmd下這道指令

1
小魚
iT邦大師 1 級 ‧ 2021-06-10 12:59:39

初學的話直接學PDO就好了.

Shinichi iT邦新手 5 級 ‧ 2021-06-10 15:52:29 檢舉

現在是跟著老師的步調慢慢走,未來有機會會在拜讀PDO,感謝回答!

1
japhenchen
iT邦大師 1 級 ‧ 2021-06-10 16:06:15

建議一開始就用PDO啦,比mysqli輕鬆很多且也不用在意在新版PHP環境下無法相容的問題

<?php
$username = "dbusername";
$password = "yourpassword";
$servername = "127.0.0.1";
$dbname = "myfirstdb";
$dsn = "mysql:host=$servername;dbname=$dbname";
// 以上一大半都是在設定而已

$pdo = new PDO($dsn, $username, $password);
//產生資料庫連接,連接方式都統一成同一種語法,不分MS MY POST...

$stat = $pdo->prepare("SELECT * FROM myfirstdb.table WHERE.........");
$stat->execute();
//以上執行查詢

//以下逐行WHILE顯示資料內容
while ($row = $stat->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) {
    echo $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
}

我以前在學校學電腦時,老師還在教BASIC,我已經自學到TC++了

Shinichi iT邦新手 5 級 ‧ 2021-06-10 17:28:56 檢舉

感謝回答!!我會再找時間學PDO

我要發表回答

立即登入回答