【发布时间】:2013-12-31 23:13:48
【问题描述】:
我正在使用准备好的语句将提交的信息上传到 MYSQL 数据库。我想知道如何将我准备好的语句传递给一个单独的变量,以便我可以发布上传内容的摘要。下面是代码:
$stmt = $dbh->prepare("INSERT INTO photos (Name, Type, Price, Description, Location, status, id)
VALUES (:item_name, :item_type, :item_price, :item_description, :image_location, :status, :id)");
$stmt->bindValue(':item_name', $_POST['item_name']);
$stmt->bindValue(':item_type', $_POST['item_type']);
$stmt->bindValue(':item_price', $_POST['item_price']);
$stmt->bindValue(':item_description', $_POST['item_description']);
$stmt->bindValue(':image_location', 'images/'.$_FILES['file']['name']);
$stmt->bindValue(':status', 0);
$stmt->bindValue(':id', 0);
try{
$stmt->execute();
}catch(PDOException $e){
$errors[] = $item_name . "not saved in database.";
echo $e->getMessage();
我想我的问题是:PHP 如何存储 $stmt 变量然后执行它?是
$stmt->execute()
被视为一个数组?如果是这样,我如何访问每个准备好的值,以便发布每个值的摘要?
谢谢!
【问题讨论】:
-
那么,您是否想查看诸如
$_POST['item_name']);之类的内容,或者“放入变量”之后的最终语句是什么样的?第一个很容易,第二个不可能(无需进入 mysql 并查看最近对您的数据库运行了哪些查询)。 -
是的,我想查看每个单独提交的 $_POST['item_name'] 的具体实例,以便我可以回显所提交信息的摘要。我能看到的唯一方法是创建单独的变量并再次提取 $_POST['item_name'] 。我想使用已经存储在 $stmt 变量中的内容。