2014-10-01 69 views
-2

我想從表中獲取數據以表格方式顯示。MYSQL不工作在哪裏

$myid = 'First_User'; 
$checkQuery = "SELECT * FROM MyDatabase WHERE id='" . $myid . "';"; 
echo $checkQuery; // it returns SELECT * FROM MyDatabase WHERE id='First_User';. I run in mySQL console , and it returns the record. 
$result = mysql_query($checkQuery);  
$row = mysql_fetch_array($result); 

上述似乎無法獲取任何東西。但是說"Resource #3"。沒有看到數據。

$myid = 'First_User'; 
$checkQuery = "SELECT * FROM MyDatabase"; 

$result = mysql_query($checkQuery); 
$row = mysql_fetch_array($result); 

這個工作原理返回MyDatabase中的所有數據。我的MyDatabase中有First_User。

+4

請不要使用舊的不推薦使用的MySQL擴展來學習數據庫訪問;學習使用MySQLi或PDO與準備好的語句/綁定變量 – 2014-10-01 08:48:56

+1

是ID'First_User'還是在另一列? – Mikpa 2014-10-01 08:49:38

+1

你顯示了什麼來獲得'資源#3',聽起來像你正在顯示'$ result';你需要顯示'$ row'數組 – 2014-10-01 08:49:51

回答

0

您好MySQL是表的方向。

Select <table felds> , < table felds> From <table> Where .... 
+0

它看起來像他們的表被稱爲「MyDatabase」 - SELECT *在省略WHERE子句時起作用。 – danmullen 2014-10-01 08:54:09

0

的問題是您要查詢的方式,基本上你要做的:

SELECT * FROM your table_name WHERE field_name='Field_value';

數據庫通常是在驅動中定義用於連接到數據庫在這一情況下,不建議使用

mysql-connect 但前面已經提到,你應該使用PDO是較新的和更安全的:)

0
使用 mysql_*功能避免:

$myid = 'First_User'; 
$checkQuery = "SELECT * FROM MyDatabase WHERE id='$myid'"; 
$result = mysql_query($checkQuery); 
$row = mysql_fetch_array($result); 
while($row = mysql_fetch_array($result)) { 
    echo '<td><input type="text" name="ID" value='.$row[0].'></td>'; 
} 

注 -

簡單地嘗試這個..

$checkQuery = "SELECT * FROM MyDatabase WHERE id='$myid'"; 
+0

我試着$ checkQuery =「SELECT * FROM MyDatabase WHERE id ='$ myid'」;. – 2014-10-01 09:08:07

+0

在您的前端網頁上使用文本框,並從用戶處獲取數據並將其顯示在網頁中如下所示: – 2014-10-01 09:22:28

+0

if(isset($ _ REQUEST ['Your button name'])){$ text = $ _REQUEST(「您的文本框名稱」); $ checkQuery =「SELECT * FROM MyDatabase WHERE id ='$ myid'」; $查詢= mysql_query($ checkQuery);}和回聲查詢.. – 2014-10-01 09:23:53

0

試試這個。改用mysqli_*函數。

0

首先,不要使用mysql_connect,請使用MySQLi或PDO

我更喜歡PDO。

如何連接到PDO:

$db_connection = new PDO('mysql:host='. DB_HOST .';dbname='. DB_NAME . ';charset=utf8', DB_USER, DB_PASS); 

現在你想要寫您的查詢,並獲取

$query = $db_connection->prepare("SELECT * FROM `MyDatabase` WHERE `id` = :id"); 
$query->execute(array(":id" => $myid)); 
$result = $query->fetchAll(); 

foreach($result as $user) { 
    echo $user['id']; 
    echo "<tr>"; 
    echo "<td><input type=\"text\" name=\"ID\" value=\"" echo $row['id'] "\" /></td>"; 
    echo "</tr>" 
} 

我希望我havne't錯過了什麼了,但請閱讀PDO文件:http://php.net/manual/en/book.pdo.php (或mysqli:http://php.net/manual/en/book.mysqli.php

如果您在查詢中的某處使用發佈數據,請查看其他文章,瞭解如何防止mysql注入:How can I prevent SQL injection in PHP?

0

使用它。和其他添加LIMIT,因爲您的查詢將只返回結果。這是額外的潛力。

$id = $_SESSION['user_id']; // or something else. 

$checkQuery = "SELECT * FROM MyDatabase WHERE id='$id' LIMIT 1"; 

$results = mysqli_query($checkQuery); 

if ($result) $user=mysql_fetch_assoc($result); 

// use now. 

echo $user['user_name']; 
echo $user['id'];