2015-02-10 110 views
-1

我不知道为什么我无法通过HTML获取来自mysql的值,请问下面我的代码有什么问题,谢谢!这是很奇怪的是,我可以得到价值1当我回声$ COUNT2但我无法得到字段值不管回声$ BU2或$ DEPT2的die("123". $bu2 ." ". $count2 ."123");结果是123 1123无法从mysql中获取价值

if (isset($_POST['update'])) { 
include 'db.php'; 
mysql_query("SET CHARACTER SET utf8", $conn); 
mysql_query("SET NAMES utf8", $conn); 
$query2=mysql_query("SELECT bu, SUBSTRING_INDEX(dept, '-',-1) AS Department FROM tb_user WHERE username = '". $sessionusername ."'", $conn); 
$count2=mysql_num_rows($query2); 
if ($count2 == 1) { 
    $bu2=$query2['bu']; 
    $dept2=$query2['Department']; 
    die("123". $bu2 ." ". $count2 ."123"); 
} 
mysql_close($conn);} 
+0

你期待什么结果? – ggdx 2015-02-10 10:05:27

回答

1

使用mysql_fetch_assoc()并将其分配给变量,例如$rec,然后用$rec['bu'] 全部代码将是

$rec = mysql_fetch_assoc($query2) 
$bu2 = $rec['bu']; 
$dept2 = $rec['Department']; 
+0

感谢每个人,但只有最好的答案任何一个只对不起.... – jchan 2015-02-11 03:38:45

-1

您需要与

mysql_fetch_array 

喜欢的东西取表行:

$row = mysql_fetch_array($query2); 
$bu2 = $row['bu']; 
$dept2=$row['Department']; 
+0

为什么投下票? – fortune 2015-02-10 10:09:07

0

对于SELECT,SHOW,描述,解释等语句返回的结果集,请求mysql_query()成功返回的资源,或者在错误FALSE。 http://php.net/manual/en/function.mysql-query.php

虽然您试图使用mysql_query的结果,就好像它是一个关联数组。在我给你的链接中,你可以找到正确的方式来获取mysql_query的结果。事情是这样的:

$result = mysql_query($query); 
while ($row = mysql_fetch_assoc($result)) 
{ 
    echo $row['bu']; 
} 

或者您可以使用mysql_fetch_array http://php.net/manual/en/function.mysql-fetch-array.php

$result = mysql_query($query); 
$data = mysql_fetch_array($result, MYSQL_ASSOC) 
print $data['bu'] 

只要记住这两个不赞成使用这些功能,你会希望寻找到的mysqli http://php.net/manual/en/book.mysqli.php

2

你可以使用mysql_fetch_assoc获取所有值的数组中的值。

$connection = mysql_connect($server, $username, $password); 

$query = mysql_db_query($database, $query); 

$row = mysql_fetch_assoc($query); 

如果你检查$ row的值,你可以得到你想要的结果类型的值。