2014-02-13 50 views
0

有我使哎呀PHP的概念的项目,我无法从数据库中检索量。我做两个文件,一个来回连接amothe HTML我想打印在HTML我DAT使用PHP这里打印量的html代码使用哎呀概念

<?php 
    include('connection.php'); 
    $obj=new connect; 

    $x=$obj->search(); 
    while($row = MySQLi_Result($x)) 
    { 
     echo $row['amount']; 
    } 
    ?> 


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>Untitled Document</title> 
    </head> 

    <body> 
    Your Amount 
    <input type="text" name="date" value="<?php echo date("d-m-y");?>"/> 
    <input type="text" name="amount" id="amount" /> 

    <a href="add.php">add</a> 
    <a href="subtract.php">subtract</a> 
    </body> 
    </html> 

这里我connection.php

<?php 
    //con.php 

     class connect 
     { 
      var $conn; 
      function __construct() 
      { 
       $this->conn=new MySQLi("localhost","root","","project111"); 
      } 

      function add($date,$amount,$d) 
      { 
       $addData=$this->conn->prepare('INSERT INTO `totalamount` (`date`,`amount`,detail)values (?,?,?)'); 
       $addData->bind_param('sss',$date,$amount,$d); 
       $addData->execute(); 
      } 

      function search() 
      { 
       $search=$this->conn->prepare('select * from `totalamount`'); 
       $search->execute(); 
       } 
     } 



     ?> 
+2

它不是'oops';),它的'OOP' –

回答

1

search()方法文件的最后一行不返回任何东西。但是,您将其输出分配给$x,然后尝试使用它。我猜你想返回你必须首先获取的mysqli结果手柄...

这也表明,这不是一个好主意,不要做任何错误检测和处理。在使用$x之前,您应该检查它包含的内容!如果它不是一个有效的mysqli资源句柄,那么出现了问题,并且在随后的mysqli检索命令中尝试使用它是没有意义的。

第三个问题是mysqli_result()确实不是如您所期望的那样从结果集中返回一行。

我建议你学习工作代码,特别是mysqli扩展的(它也带有示例)的文件的几个例子。

-1

你必须有一个函数中写的回报,那么你可以猫在一个阵列形式的所有值。

这是写入语法:

return $ search-> execute();

+0

它将返回bool而不是行或数组 – zzlalani

+0

,这意味着它正在返回需要在数组中转换的资源ID。 –

+0

http://www.php.net/manual/en/mysqli-stmt.execute.php – zzlalani