Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.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 PDO-我的语句“Undefined class constant”PARAM_STRING”有点不太正确_Php_Sql_Pdo - Fatal编程技术网

Php PDO-我的语句“Undefined class constant”PARAM_STRING”有点不太正确

Php PDO-我的语句“Undefined class constant”PARAM_STRING”有点不太正确,php,sql,pdo,Php,Sql,Pdo,我是PDO新手,已经设法让一些语句工作,但现在我尝试使用“字符串”并收到一条错误消息。很明显我做错了什么 我收到以下错误消息: 未定义的类常量“PARAM_STRING” 这是我的密码: require_once('../scripts/includePDO.php'); $who = 65; //temp value to be deleted $status = $_POST['status']; $sql = "INSERT INTO tbl_status(from_user, sta

我是PDO新手,已经设法让一些语句工作,但现在我尝试使用“字符串”并收到一条错误消息。很明显我做错了什么

我收到以下错误消息:

未定义的类常量“PARAM_STRING”

这是我的密码:

require_once('../scripts/includePDO.php');

$who = 65; //temp value to be deleted
$status = $_POST['status'];

$sql = "INSERT INTO tbl_status(from_user, status, deleted) VALUES (:who, :status, '0')";

$q   =  $conn->prepare($sql);
        $q->bindValue(':who',$who,PDO::PARAM_INT);
        $q->bindValue(':status',$status,PDO::PARAM_STRING);
        $q->execute();

header("Location: ../home/");

PDO::PARAM_字符串不正确,您需要改用PDO::PARAM_STR。

回答正确!我还可以问一下,我在这里的编码真的有什么作用吗?我试图阻止SQL注入。我的代码从一个角度来说是有效的,它执行正确-但是人们仍然可以SQL注入它吗?不,这就是绑定参数和值的全部想法。首先设置查询,然后将数据传递给查询,不可能进行注入。超级!最后,这是否意味着只要在语句中使用PDO,就可以执行使用“SELECT*FROM table_name”的语句?我听说你永远不应该真正使用SELECT*FROM,因为它不是完全必要的。@ElaineAddams:是的,PDO中包装的所有内容都是安全的,并且在SELECT中使用命名字段,除非你绝对需要db中的所有内容。我也给了你们一个投票权——仅仅是为了使用PDO和真正关心注射!当我注意到你的答案时,我的问题是我得到了未定义的类常量“PARAM_STR”-那么现在怎么办