|   | 
              
                42樓                巨大八爪鱼
                2015-5-30 22:12
                                                  
			  $stmt->bindColumn("ItemSuburb", $suburb, PDO::PARAM_STR);相當於$suburb = (string)$row["ItemSuburb"];
 
 | 
                
          |   | 
              
                43樓                巨大八爪鱼
                2015-5-30 22:21
                                                  
			  回復:33樓為了排查SQL的錯誤,可以使用errorInfo直接獲取MySQL輸出的錯誤信息,不用再把輸出的SQL語句複製到PMA中執行了。
 比如:
 $sql = "SELECT * AFROM WiFiHotSpots";
 $dbh->query($sql);
 $error = $dbh->errorInfo();
 echo $error[2];
 輸出:
 You have an error in your SQL syntax; check the manual that corresponds 
to your MariaDB server version for the right syntax to use near 'AFROM 
WiFiHotSpots' at line 1
 
 
 | 
                
          |   | 
              
                44樓                巨大八爪鱼
                2015-5-30 22:22
                                                  
			  回復:43樓這樣我們就可以直接看出這個SQL語句中的AFROM出問題了
 
 | 
                
          |   | 
              
                45樓                巨大八爪鱼
                2015-5-30 22:25
                                                  | 
                
          |   | 
              
                46樓                巨大八爪鱼
                2015-5-30 22:27
                                                  
			  方法 bindParam() 和 bindValue() 非常相似。  唯一的区别就是前者使用一个PHP变量绑定参数,而后者使用一个值。 所以使用bindParam是第二个参数只能用变量名,而不能用变量值,而bindValue至可以使用具体值。http://www.360doc.com/content/12/0703/16/10337467_222033042.shtml | 
                
          |   | 
              
                48樓                巨大八爪鱼
                2015-5-30 22:29
                                                  
			  fetch();和mysql_fetch_array();一樣但fetchAll();返回一個二維數組,可以獲取所有行。
 
 | 
                
          |   | 
              
                49樓                巨大八爪鱼
                2015-5-30 22:31
                                                  
			  以後要排查sql的錯誤直接用errorInfo,不要再把SQL語句複製到PMA里執行了。而且也沒有辦法獲得最終的SQL語句。
 | 
                
          |   | 
              
                51樓                巨大八爪鱼
                2015-5-31 08:15
                                                  
			  我還是要硬着頭皮看英文版的PHP文檔,雖然閱讀速度比中文慢了很多,但這是一個適應的過程。             | 
                
          |   | 
              
                52樓                巨大八爪鱼
                2015-5-31 08:16
                                                  
			  PDO — The PDO class
 PDO::beginTransaction — Initiates a transaction
 PDO::commit — Commits a transaction
 PDO::__construct — Creates a PDO instance representing a connection to a database
 PDO::errorCode — Fetch the SQLSTATE associated with the last operation on the database handle
 PDO::errorInfo — Fetch extended error information associated with the last operation on the database handle
 PDO::exec — Execute an SQL statement and return the number of affected rows
 PDO::getAttribute — Retrieve a database connection attribute
 PDO::getAvailableDrivers — Return an array of available PDO drivers
 PDO::inTransaction — Checks if inside a transaction
 PDO::lastInsertId — Returns the ID of the last inserted row or sequence value
 PDO::prepare — Prepares a statement for execution and returns a statement object
 PDO::query — Executes an SQL statement, returning a result set as a PDOStatement object
 PDO::quote — Quotes a string for use in a query.
 PDO::rollBack — Rolls back a transaction
 PDO::setAttribute — Set an attribute
 PDOStatement — The PDOStatement class
 
 PDOStatement::bindColumn — Bind a column to a PHP variable
 PDOStatement::bindParam — Binds a parameter to the specified variable name
 PDOStatement::bindValue — Binds a value to a parameter
 PDOStatement::closeCursor — Closes the cursor, enabling the statement to be executed again.
 PDOStatement::columnCount — Returns the number of columns in the result set
 PDOStatement::debugDumpParams — Dump an SQL prepared command
 PDOStatement::errorCode — Fetch the SQLSTATE associated with the last operation on the statement handle
 PDOStatement::errorInfo — Fetch extended error information associated with the last operation on the statement handle
 PDOStatement::execute — Executes a prepared statement
 PDOStatement::fetch — Fetches the next row from a result set
 PDOStatement::fetchAll — Returns an array containing all of the result set rows
 PDOStatement::fetchColumn — Returns a single column from the next row of a result set
 PDOStatement::fetchObject — Fetches the next row and returns it as an object.
 PDOStatement::getAttribute — Retrieve a statement attribute
 PDOStatement::getColumnMeta — Returns metadata for a column in a result set
 PDOStatement::nextRowset — Advances to the next rowset in a multi-rowset statement handle
 PDOStatement::rowCount — Returns the number of rows affected by the last SQL statement
 PDOStatement::setAttribute — Set a statement attribute
 PDOStatement::setFetchMode — Set the default fetch mode for this statement
 | 
                
          |   | 
              
                53樓                巨大八爪鱼
                2015-5-31 08:56
                                                  
			  exec的用法:$sql = "INSERT INTO `timetest` VALUES (null, NOW())";
 $num = $dbh->exec($sql);
 echo "影響了{$num}行。";
 
 輸出:影響了1行。
 |