我正在尝试尽可能高效地使用代码。不幸的是,我似乎无法找到一个好的方法来做到这一点。我试过使用看起来更干净的 Sammitch 的代码,但不幸的是它似乎不起作用。
我想要一种不再需要每次都使用准备、执行和功能的方法,这对我来说是最有意义的。使用 Simmitch 的建议,我删除了与数据库的初始连接以停止不必要的开销,但代码仍然无法正常工作。显示“SQLSTATE[HY093]:无效参数号:未定义参数”错误。
我目前的代码(某些部分不必要的省略):
/*Function to talk to database*/
function doQuery($myDB, $myQuery, $myValues)
{
try
{
$st = $myDB->prepare($myQuery);
$st->execute($myValues);
//echo $success;
}
catch (PDOException $e)
{
echo "Failed because: " . $e->getMessage();
}
}
$db = new PDO('mysql:host=localhost;dbname='dbanme';charset=utf8', 'dbuser', 'dbpass');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //Set error mode
$query = "INSERT INTO users(login,pass,email,county) VALUES(:username,:password,:email,:count)";
$values = array('username' => $_POST['username'],
'password' => $_POST['password1'],
'email' => $_POST['email'],
'county' => $_POST['county']
);
doQuery($db, $query, $values);