2013-02-12 64 views
0

我想使用php从mysql表中获取数据。请,谁能告诉我?这段代码有什么问题?什么是正确的代码,以从MySQL数据库获取数据:我怎样才能从数据库获取数据在PHP中使用MySQL?

<?php 
    $dbhost = 'localhost'; 
    $dbuser = 'root'; 
    $dbpass = ''; 
    $connect=mysql_connect("localhost","root",""); 

    // connect to databsase 

    mysql_select_db("form1",); 

     enter code here 

    // query the database 

    $query = mysql_query("SELECT * FROM users WHERE name = 'Admin' "); 

    // fetch the result/convert resulte in to array 

    WHILE ($rows = mysql_fetch_array($query)): 

     $rows = $rows['Name']; 
     $address = $rows['Address']; 
     $email = $rows['Email']; 
     $subject = $rows['Subject']; 
     $comment = $rows['Comment'] 

     echo "$Name<br>$Address<br>$Email<br>$Subject<br>$Comment<br><br>"; 

     endwhile; 

     ?> 
+0

什么错误,你得到些什么? – amitchhajer 2013-02-12 07:19:19

+0

您正在使用[an **过时的**数据库API](http://stackoverflow.com/q/12859942/19068)并应使用[现代替换](http://php.net/manual/en/ mysqlinfo.api.choosing.php)。 – Quentin 2013-02-12 07:19:59

+0

当你使用'mysql_connect(“localhost”,“root”,“”);''时,声明上述变量的原因是什么?并告诉我们你从这段代码中得到的结果 – 2013-02-12 07:21:06

回答

0

尝试

$query = mysql_query("SELECT * FROM users WHERE name = 'Admin' ")or die(mysql_error());

,并检查是否该抛出任何错误。

然后使用while($rows = mysql_fetch_assoc($query)):

最后显示为

echo $name . "<br/>" . $address . "<br/>" . $email . "<br/>" . $subject . "<br/>" . $comment . "<br/><br/>" . ;

不要用户mysql_*作为其弃用。

4

php中的变量区分大小写。请以下替换while循环:

while ($rows = mysql_fetch_array($query)): 

      $name = $rows['Name']; 
      $address = $rows['Address']; 
      $email = $rows['Email']; 
      $subject = $rows['Subject']; 
      $comment = $rows['Comment'] 

      echo "$name<br>$address<br>$email<br>$subject<br>$comment<br><br>"; 

      endwhile; 
0

使用此代码

while ($rows = mysql_fetch_array($query)): 

    $name = $rows['Name']; 
    $address = $rows['Address']; 
    $email = $rows['Email']; 
    $subject = $rows['Subject']; 
    $comment = $rows['Comment']; 

    echo "$name<br>$address<br>$email<br>$subject<br>$comment<br><br>"; 

    endwhile; 

    ?> 
0
  1. 选择带有标识mysql_select_db数据库( “form1的”,$连接);

  2. 你会得到语法错误吗?如果请放一个;在$ comment = $ rows旁边['Comment']。

  3. 而且变量应区分大小写这里

1

试试这个

<?php 
// 1. Enter Database details 
$dbhost = 'localhost'; 
$dbuser = 'root'; 
$dbpass = 'password'; 
$dbname = 'database name'; 

// 2. Create a database connection 
$connection = mysql_connect($dbhost,$dbuser,$dbpass); 
if (!$connection) { 
    die("Database connection failed: " . mysql_error()); 
} 

// 3. Select a database to use 
$db_select = mysql_select_db($dbname,$connection); 
if (!$db_select) { 
    die("Database selection failed: " . mysql_error()); 
} 

$query = mysql_query("SELECT * FROM users WHERE name = 'Admin' "); 

while ($rows = mysql_fetch_array($query)) { 
    $name = $rows['Name']; 
    $address = $rows['Address']; 
    $email = $rows['Email']; 
    $subject = $rows['Subject']; 
    $comment = $rows['Comment'] 

    echo "$name<br>$address<br>$email<br>$subject<br>$comment<br><br>";  
} 

?> 

未测试! *更新!

0

如果这是你的代码,那么你会得到一个错误,因为你在循环中重新分配$ row,所以你永远无法迭代结果。更换

$rows = $rows['Name']; 

$name = $rows['Name']' 

所以,你的代码看起来像

WHILE ($rows = mysql_fetch_array($query)): 

    $name = $rows['Name']; 
    $address = $rows['Address']; 
    $email = $rows['Email']; 
    $subject = $rows['Subject']; 
    $comment = $rows['Comment']; 

而且我假设在用户表中的列名的名称,地址,电子邮件等,并不是姓名,地址,电子邮件。请记住,每个变量名称/字段名称都区分大小写。

0

你的语法是错误的......正确的编码是:

<?php 
mysql_connect("localhost","root",""); 
mysql_select_db("form1"); 
$query = mysql_query("SELECT * FROM users WHERE name = 'Admin' "); 
while($rows = mysql_fetch_array($query)) 
{ 

    $rows = $rows['Name']; 
    $address = $rows['Address']; 
    $email = $rows['Email']; 
    $subject = $rows['Subject']; 
    $comment = $rows['Comment'] 
    echo $rows.'</br>'.$address.'</br>'.$email.'</br>'.$subject.'</br>'.$comment; 
} 
    ?> 
1

更改“而”来“而”。因为PHP是区分大小写的像c/C++。

0

代码:

while ($rows = mysql_fetch_array($query)): 
     $name = $rows['Name']; 
     $address = $rows['Address']; 
     $email = $rows['Email']; 
     $subject = $rows['Subject']; 
     $comment = $rows['Comment'] 
     echo "$name<br>$address<br>$email<br>$subject<br>$comment<br><br>"; 
endwhile; 
1
<table border="1px"> 

    <tr> 
     <th>Student Name</th> 
     <th>Email</th> 
     <th>password</th> 
    </tr> 

     <?php 

      If(mysql_num_rows($result)>0) 
      { 
       while($rows=mysql_fetch_array($result)) 
       { 

     ?> 
    <?php echo "<tr>";?> 
        <td><?php echo $rows['userName'];?> </td> 
        <td><?php echo $rows['email'];?></td> 
        <td><?php echo $rows['password'];?></td> 

    <?php echo "</tr>";?> 
     <?php 
       } 
      } 

    ?> 
</table> 
    <?php 
     } 
    ?> 
+1

添加一些解释并回答这个答案如何帮助OP解决当前问题 – 2016-10-21 05:15:38

相关问题