2015-09-16 15 views
0

有人请向我解释并协助将我的旧代码转换为新的MySQLi格式吗?我将不胜感激。请帮我转换我的MySQL到MySQLi

这是我当前的代码:

<html> 
    <head> 
     <title>Last 10 Results</title> 
    </head> 
    <body> 
     <table> 
     <thead> 
      <tr> 
       <td>Id</td> 
       <td>Name</td> 
      </tr> 
     </thead> 
     <tbody> 
     <?php 
      $connect = mysql_connect("localhost","root", "root"); 
      if (!$connect) { 
       die(mysql_error()); 
      } 
      mysql_select_db("apploymentdevs"); 
      $results = mysql_query("SELECT * FROM demo LIMIT 10 ORDER BY Id"); 
      while($row = mysql_fetch_array($results)) { 
      ?> 
       <tr> 
        <td><?php echo $row['Id']?></td> 
        <td><?php echo $row['Name']?></td> 
       </tr> 

      <?php 
      } 
      ?> 
      </tbody> 
      </table> 
    </body> 
</html> 

我再次体会到帮助。

这是我做了什么(我很抱歉,我这样的小白)

    <?php 
         // Database details 
         $dbhost = 'localhost'; 
         $dbuser = '#'; 
         $dbpass = '#'; 
         $dbname = '#'; 
         $db = new mysqli($dbhost, $dbuser, $dbpass, $dbname); 
         if($db->connect_errno > 0){ 
          die('Unable to connect to database [' . $db->connect_error . ']'); 
         } 
         $results = mysqli_query("SELECT * FROM formdata LIMIT 10 ORDER BY id"); 
         while($row = mysqli_fetch_array($results)) { 
         ?> 
          <tr> 
           <td><?php echo $row['ID']?></td> 
           <td><?php echo $row['FullName']?></td> 
           <td><?php echo $row['Mobile']?></td> 
           <td><?php echo $row['Email']?></td> 
           <td><?php echo $row['Province']?></td> 
          </tr> 

         <?php 
         } 
         ?> 
+1

你有没有尝试过什么? –

+0

我有,但我很惭愧地添加它 –

+0

@ Fred-ii-我已经添加了我认为正确的东西,但请不要对我吼我正在学习。 –

回答

2

更新这一行:

$results = mysqli_query("SELECT * FROM formdata LIMIT 10 ORDER BY id"); 

$results = mysqli_query($db, "SELECT * FROM formdata ORDER BY id LIMIT 10"); 
+1

我有一个很不错的感觉,他低估了我们。我们中间有一条“蛇”。 –

+0

谢谢你的回答,你和Fred,我的mysqli_fetch_array部分是否正确? –

+0

是的,该部分是正确的,但它可以采用可选参数。但它可以保持原样。 – NaijaProgrammer

2

这里的问题是,你还没有传递到您的查询的连接

$results = mysqli_query($db, "SELECT 
         ^^^^ 

阅读文档:

mysql_不同,它必须作为参数传递。

然后确保您的查询不失败。


编辑:

脚注:

至于到OP评论抓到通过NaijaProgrammer,LIMIT去ORDER BY后,是一个完整的对我的监督。

“建议:1。检查你的表名2.运行在phpMyAdmin代码3.将ORDER BY语句的LIMIT语句之前 - NaijaProgrammer。”

参考的选择:

从手动

实施例:

SELECT 
    [ALL | DISTINCT | DISTINCTROW ] 
     [HIGH_PRIORITY] 
     [STRAIGHT_JOIN] 
     [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] 
     [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] 
    select_expr [, select_expr ...] 
    [FROM table_references 
    [WHERE where_condition] 
    [GROUP BY {col_name | expr | position} 
     [ASC | DESC], ... [WITH ROLLUP]] 
    [HAVING where_condition] 
    [ORDER BY {col_name | expr | position} 
     [ASC | DESC], ...] 
    [LIMIT {[offset,] row_count | row_count OFFSET offset}] 
    [PROCEDURE procedure_name(argument_list)] 
    [INTO OUTFILE 'file_name' export_options 
     | INTO DUMPFILE 'file_name' 
     | INTO var_name [, var_name]] 
    [FOR UPDATE | LOCK IN SHARE MODE]] 

我想指出,虽然如此,您在这里使用的是小写字母“id”ORDER BY id,这对ORDER BY来说应该不是问题。

然而,$row['ID']$row['id']之间的差。如果您的数据库配置为区分大小写,那么您将需要以小写形式写入ID。

+1

当有人说“我是一个小菜鸟”时,很多时候,他们没有完全掌握官方的PHP手册,这就是他们可能首先来到SO的原因。然后,他们通常会更喜欢为他们完整编写代码。我是从经验中发言的。 – NaijaProgrammer

+0

@NaijaProgrammer这是可以理解的。我也曾经是一个新手,我不知道Google应该怎么做。我们当然在很多年前说话了;-) –

+0

听这个人 –