来自Web表单问题的PHP准备语句[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了来自Web表单问题的PHP准备语句[重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

直到最近才开始使用mysql所以我正在慢慢掌握它,但是尝试使用php预处理语句进行webform,并且在提交webform时,它只是显示php代码。有什么建议?

谢谢

<?php

$link = mysqli_connect("localhost", "root", "", "contactform");

if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}

$sql = "INSERT INTO contactform (firstname, surname, address1, address2, 
towncity, county, postcode) VALUES (?,?,?,?,?,?,?)";

if($stmt = mysqli_prepare($link, $sql)){
mysqli_stmt_bind_param($stmt, "sssssss", $firstname, $surname, $address1, 
$address2, $towncity, $county, $postcode);

$firstname = $_REQUEST['firstname'];
$surname = $_REQUEST['surname'];
$address1 = $_REQUEST['address1'];
$address2 = $_REQUEST['address2'];
$towncity = $_REQUEST['towncity'];
$county = $_REQUEST['county'];
$postcode = $_REQUEST['postcode'];


if(mysqli_stmt_execute($stmt)){
    echo "Records inserted successfully.";
} else{
    echo "ERROR: Could not execute query: $sql. " . mysqli_error($link);
}
} else{
echo "ERROR: Could not prepare query: $sql. " . mysqli_error($link);
}

mysqli_stmt_close($stmt);

mysqli_close($link);
?>    
答案

使用eval( $text );将执行您的字符串作为PHP代码。那是你在找什么?

PHP eval() function

注意eval()语言结构非常危险,因为它允许执行任意PHP代码。因此不鼓励使用它。如果您已仔细验证除了使用此构造之外没有其他选项,请特别注意不要传递任何用户提供的数据

以上是关于来自Web表单问题的PHP准备语句[重复]的主要内容,如果未能解决你的问题,请参考以下文章

PHP在循环中准备语句和事务[重复]

我的搜索表单上的 SQL 准备语句错误

如何使用准备好的语句将表单数据插入 PDO?

什么时候在 PHP Mysqli 中使用准备好的语句? - 用户表单搜索输入与选择查询

了解准备好的语句 - PHP

如何在登录表单php上使用密码验证