我这个代码为什么提示错误?

WBOY
풀어 주다: 2016-06-06 20:08:31
원래의
851명이 탐색했습니다.

我这个代码为什么提示错误?

<code>


      <meta charset="utf-8">
    <title></title>


<form method="post">
    <input type="text" name="num">
    <button type="submit">提交</button>
</form>
<?php $pdo=new PDO("mysql:host=localhost;dbname=t1","root","");
$stmt=$pdo->prepare("select * from qq where num=?");
$stmt->execute($num);        //这一行提示错误
$res=$stmt->fetchall(PDO::FETCH_ASSOC);

?>

</code>
로그인 후 복사
로그인 후 복사

回复内容:

我这个代码为什么提示错误?

<code>


      <meta charset="utf-8">
    <title></title>


<form method="post">
    <input type="text" name="num">
    <button type="submit">提交</button>
</form>
<?php $pdo=new PDO("mysql:host=localhost;dbname=t1","root","");
$stmt=$pdo->prepare("select * from qq where num=?");
$stmt->execute($num);        //这一行提示错误
$res=$stmt->fetchall(PDO::FETCH_ASSOC);

?>

</code>
로그인 후 복사
로그인 후 복사

自己思考不解释了 1- 表单提交之后数据会出现在以下数组中$_REQUEST(所有外部参数), $_GET(get方式提交) 和 $_POST (post方式提交),而你的例子中提交后保存在$_POST['num']中,而不是$num
2- 其实没有2,变量不存在导致调用方法的时候参数数量不足。

<code>


      <meta charset="utf-8">
    <title></title>


<form method="post">
    <input type="text" name="num">
    <button type="submit">提交</button>
</form>
<?php if (isset($_POST['num'])) {
    $pdo=new PDO("mysql:host=localhost;dbname=t1","root","");
    $stmt=$pdo->prepare("select * from qq where num=?");
    $stmt->execute(array($_POST['num']));
    $res=$stmt->fetchall(PDO::FETCH_ASSOC);
    print_r($res);
}
?>

</code>
로그인 후 복사

大哥 pdo 如果用 Prepare那就需要绑定值啊,你这个$num 明明是 null 能不给你报错吗
看你的意思应该是这样 $num = trim($_POST['num']);

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!