私は以下で少し頭を悩ませていると思います。私がやりたいのは、1つのPDOと準備と実行を関数で呼び出すことです。
すべての関数で PDO と重複するコードを保存しようとしていました。
誰かが私を正しい方向に向けることができれば、それは素晴らしいことであり、アドバイスでもあります.私は現在、記事からすべてを理解しようとしています. 次に、非オブジェクトのメンバー関数 prepare() への呼び出しが表示されます...
2 つの追加質問
- execute と prepare の関数を試してみるべきですが、これは一般的な方法ですか?
- $db を関数に入れ、必要なときにそれを呼び出して、ダイを元に戻すことはできますか?
どんな助けでも大歓迎です。
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('log_errors', 1);
$config['db'] = array(
'host' => 'localhost',
'username' => 'root',
'password' => 'root',
'dbname' => 'bhill');
$db = new PDO('mysql:host=' . $config['db']['host'] . ';dbname=' . $config['db']['dbname'],
$config['db']['username'], $config['db']['password']);
try {
$db->exec("SET CHARACTER SET utf8");
//$db = null;
}
catch (PDOException $ex) {
print "Error!: " . $ex->getMessage() . "<br/>";
die();
}
function update($db, $fn, $ln, $email, $offers, $vlue, $responce)
{
$stmt = $db->prepare("insert into kkt (fName_765, lName_765, email_765, signup_765, kkt_resp_765, kkt_respSate_765, stamp_765) values (:fname, :lname, :email, :signup, :kkt_rsp, :kkt_respState, NOW())");
$stmt->bindParam(':fname', $fn, PDO::PARAM_STR);
$stmt->bindParam(':lname', $ln, PDO::PARAM_STR);
$stmt->bindParam(':email', $email, PDO::PARAM_STR);
$stmt->bindParam(':signup', $offers, PDO::PARAM_STR);
$stmt->bindParam(':kkt_rsp', $vlue, PDO::PARAM_STR);
$stmt->bindParam(':kkt_respState', $responce, PDO::PARAM_STR);
$stmt->execute();
$stmt = null;
}
$fn = 'test';
$ln = 'test';
$email = 'tesst@test,com';
$offers = '1';
$vlue = 'value';
$responce = 'resp';
update($db, $fn, $ln, $email, $offers, $vlue, $responce);