我试图在使用prepare语句pdo之前将数据插入数组。
以下是我所做的:
$stmt = $pdo->prepare("SELECT * FROM settings");
$stmt->execute(array());
$row = $stmt->fetch(PDO::FETCH_ASSOC);
htmlspecialchars($row['site_name']);
htmlspecialchars($row['site_desc']);
htmlspecialchars($row['site_url']);
unset($stmt);
美国陆军:
$row['site_name'];
很好,但我觉得我错过了一件重要的事情。
我的问题是:我必须声明 $stmt->execute(array());
像这样: $stmt->execute(array(':site_name'=>$site_name, ':site_name'=>$site_name,));
在使用之前?
如何做到这一点?
$a['site_name'] = htmlspecialchars($row['site_name']);
$a['site_desc'] = htmlspecialchars($row['site_desc']);
$a['site_url'] = htmlspecialchars($row['site_url']);
美国陆军:
$a['site_name'];
我看了一些视频和教程,但没法让第二个例子奏效。
2条答案
按热度按时间uoifb46i1#
由于没有使用变量(通常是用户输入),因此严格来说不需要使用
prepared statement
所以你可以简单地用普通的query
方法。但是,如果查询中有一些附加参数(通常是
where
子句)您可能希望使用prepared statement
在那里你可以定义一个placeholder
然后给它赋值,以便在execute
方法h7wcgrx32#
使用
$stmt->fetchAll(PDO::FETCH_ASSOC))
用雷姆的回答