callphp
1. php 寫入資料庫時Call to a member function bind_param() on a non-object,急,求解
依 Call to a member function bind_param() on a non-object 是因為$regin>mysqli_stmt 這個對象錯誤了, 也就是$regin->mysqli->prepare($sql);在這一句返回的不是statement對象, 而是prepare時發生錯誤返回了false, 所以下面那句就會接著出錯, 你可以試試debug輸出下執行prepare時發生的錯誤, 可以用mysqli_error($link)之類的方法輸出錯誤的原因, $link 就是你連接mysqli的資源, 或者一般有資料庫錯誤之類的會有日誌記錄, 看看你伺服器的mysql有沒有開啟日誌記錄, 然後找到日誌裡面查看資料庫報錯原因
2. 微信網頁支付V3版js_api_call.php從訂單跳轉到微信支付提示缺少統一支付介面必填參數out_trade_no!
這個out_trade_no你請求過去沒,
這個out_trade_no是你自己網站上的訂單號,流程是這樣的
用戶在你的網站支付,你自己的網站首先生成一個訂單號,比如1234,然後把相關的信息請求給微信,這個out_trade_no也就是你的訂單號(1234),然後微信那邊支付成功之後會回調,他會把這個out_trade_no依然給你,你可以通過這個來識別是誰支付成功了
你的圖片
看到沒,那是個例子,你依然把他注釋了,所以那個$out_trade_no是空的,
商戶支付的訂單號由商戶自定義生成,微信支付要求商戶訂單號保持唯一性(建議根據當前系統時間加隨機序列來生成訂單號)。重新發起一筆支付要使用原訂單號,避免重復支付;已支付過或已調用關單、撤銷(請見後文的API列表)的訂單號不能重新發起支付。
3. php7 linux上使用 call_user_func_array 報錯
php __call()與call_user_func_array()理解 1. mixed __call ( string name, array arguments )The magic method __call() allows to capture invocation of non existing methods. That way __call() can be used to implement user defined method handling that depends on the name of the actual method being called. This is for instance useful for proxy implementations. The arguments that were passed in the function will be defined as an array in the $arguments parameter. The value returned from the __call() method will be returned to the caller of the method. 譯文: 這個魔術方法允許用戶調用類中不存在的方法,它用於實現那些 依賴於在被調用時的真正方法名的方法. 典型的例子是用來實現代理. 方法的參數$arguments是一個數組 ,__call()的返回值返回給方法調用者白話文: 這個方法主要是用來實現動態方法調用, 如果再一個類定義了__call()這個方法, 當用戶調用這個類的一個不存在的方法時,他可以使用調用的那個不存在的方法的方法名和參數做出用戶定義在__call()方法體內的相應操作,此時__call()方法的參數就是被調用的那個不存在的方法的方法名和參數例子<?phpclass Person{function talk( $sound ){echo $sound;}function __call( $method , $args ){echo 'you call method ' . $method . '
';echo 'and the arguments are
';var_mp( $args );}}$person = new Person();$person->test( 1 , TRUE );?>程序輸出引用you call method testand the arguments are array 0 => int 1 1 => boolean true2. mixed call_user_func_array ( callback function, array param_arr )Call a user defined function with the parameters in param_arr. 參數functionThe function to be called. param_arrThe parameters to be passed to the function, as an indexed array. 返回值Returns the function result, or FALSE on error. 此方法可以通過傳入類名,類中得方法名和方法參數達到動態調用方法的效果例子<?php class Person{function talk( $sound ){echo $sound;}function __call( $method , $args ){echo 'you call method ' . $method . '
';echo 'and the arguments are
';var_mp( $args );}} $person = new Person();call_user_func_array( array( $person , 'talk' ) , array( 'hello' ) );?>程序輸出引用hello兩個方法共用,實現代理模型 class Person{function talk( $sound ){echo $sound;}function __call( $method , $args ){echo 'you call method ' . $method . '
';echo 'and the arguments are
';var_mp( $args );}}class PersonProxy{private $person;function __construct(){$this->person = new Person();}function __call( $method , $args ){call_user_func_array( array( $this->person , $method ) , $args );}}$person_proxy = new PersonProxy(); $person_proxy->talk( 'thank you' );程序輸出引用thank yo
4. php配置Mysql後測試報 Call to undefined function mysql_connect()....
#mysqli的簡單用法
?php
$dbhost ="127.0.0.1";
$dbuser = "root";
$dbpwd = "123456";
$dbname = "test";
$charName = "'UTF8'"; //設置查詢字元集gbk,gbk2312,utf-8
$mysqli = new mysqli($dbhost,$dbuser,$dbpwd,$dbname);
if (mysqli_connect_errno()){ //注意mysqli_connect_error()新特性
die('Unable to connect!'). mysqli_connect_error();
}
$sql = "SET NAMES ".$charName;
$mysqli-
query($sql);
//$mysqli->query("SET NAMES 'UTF8'");
?>
用mysqli 就不在使用mysql_connect了 高版本 使用mysql_connect 會出警告的