我使用数组参数创建了一个PDO对象和一个INSERT INTO
查询,如下所示:
$pdo = new PDO('mysql:host=localhost;dbname=cluster', 'root', '');
if(!$pdo) {
throw new PDOException("Failed connection!");
}
$qry = $pdo->prepare("INSERT INTO visitors_table(visitor_ip, visitor_browser, visitor_hour, visitor_minute, visitor_day, visitor_month, visitor_year, visitor_refferer, visitor_page) "
. "VALUES (:visitor_ip, :visitor_browser, :visitor_hour, :visitor_minute, :visitor_day, :visitor_month, :visitor:year, :visitor_refferer, :visitor_page)");
$arg = array(
'visitor_ip' => $guest_ip,
'visitor_browser' => $guest_browser,
'visitor_hour' => date('H'),
'visitor_minute' => date('i'),
'visitor_day' => date('D'),
'visitor_month' => date('M'),
'visitor_year' => date('Y'),
'visitor_refferer' => '',
'visitor_page' => ''
);
但如果我这样做
<?php if($qry->execute($arg) > 0): ?>
Successful input!
<?php else: ?>
Unsuccessful input!
<?php endif; ?>
我收到以下回复:
警告:PDOStatement :: execute():SQLSTATE [HY093]:参数号无效:参数未在第47行的C:\ xampp \ htdocs \ Cluster \ index.php中定义 输入不成功!
我试图找到'缺失的参数',但是所有东西都只是为了我......我是否会失明并错过一些明显的东西或者还有什么其他东西吗?
附带问题:对于PHP程序员来说,这是一种可读且易于理解的缩进和命名吗?
答案 0 :(得分:1)
你有一个错字:
$qry = $pdo->prepare("INSERT INTO visitors_table(visitor_ip, visitor_browser,
visitor_hour, visitor_minute, visitor_day, visitor_month, visitor_year,
visitor_refferer, visitor_page) "
. "VALUES (:visitor_ip, :visitor_browser, :visitor_hour, :visitor_minute, :visitor_day,
:visitor_month, :visitor_year, :visitor_refferer, :visitor_page)");
^here