Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将HTML表单输入转换为PDO变量_Php_Sql_Pdo - Fatal编程技术网

Php 将HTML表单输入转换为PDO变量

Php 将HTML表单输入转换为PDO变量,php,sql,pdo,Php,Sql,Pdo,我希望用户指定一个数字,当连接到数据库时,这个数字将在我的SQL语句中使用。如果用户输入五行,我希望显示表中的前五行 如果我写“从ID再次查看代码的表中选择*,只需一个简单的打字错误: 与以下机构合作: $sql = 'SELECT * FROM sql WHERE id <= ' . $items; $sql='SELECT*fromsql,其中id如果使用PDO,则需要绑定该变量 try { $conn = new PDO('mysql:host=localhost;dbna

我希望用户指定一个数字,当连接到数据库时,这个数字将在我的SQL语句中使用。如果用户输入五行,我希望显示表中的前五行


如果我写
“从ID再次查看代码的表中选择*,只需一个简单的打字错误:

与以下机构合作:

$sql = 'SELECT * FROM sql WHERE id <= ' . $items;

$sql='SELECT*fromsql,其中id如果使用PDO,则需要绑定该变量

try {
    $conn = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8', 'username', 'password');
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // prepare sql and bind parameters
    $stmt = $conn->prepare("SELECT * FROM TABLE WHERE ID <= :id");

    // bind params
    $stmt->bindParam(":id", $_POST['variable']);
    $stmt->execute();

    // fetch with
    // $stmt->fetchAll(PDO::FETCH_ASSOC);

    echo "OK";
} catch(PDOException $e) {
    echo "Error: " . $e->getMessage();
}
$conn = null;
试试看{
$conn=newpdo('mysql:host=localhost;dbname=testdb;charset=utf8','username','password');
//将PDO错误模式设置为异常
$conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_异常);
//准备sql和绑定参数

$stmt=$conn->prepare(“SELECT*FROM TABLE WHERE ID post your full code with your formIs$_post['variable']not empty”?var_dump(it)No,因为当我回显它时,它返回正确的值,如果您使用PDO,那么在没有看到php和formLet's us full sql请求的情况下,它将帮不上忙。”
..
$conn=new mysqli
有些地方不太对劲。对不起,我更正了:
bind_参数
那不是PDO,是
mysqli_
语法。PDO语法是
bindParam
。根据-
$stmt->bindParam(':firstname',$firstname);
而不是
$stmt bind_参数(':firstname',$firstname);
-如果要引用该链接,请使用正确的语法。另外,您的答案完全错误。编辑:好的,您已经修复了它。第二个代码块可以使用双引号,但是我建议您编辑您的问题以显示完整的php代码,然后您应该得到一个答案,该答案还将告诉您如何避免使用g您当前存在的laring SQL注入漏洞
try {
    $conn = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8', 'username', 'password');
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // prepare sql and bind parameters
    $stmt = $conn->prepare("SELECT * FROM TABLE WHERE ID <= :id");

    // bind params
    $stmt->bindParam(":id", $_POST['variable']);
    $stmt->execute();

    // fetch with
    // $stmt->fetchAll(PDO::FETCH_ASSOC);

    echo "OK";
} catch(PDOException $e) {
    echo "Error: " . $e->getMessage();
}
$conn = null;