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

查看:101
本文介绍了php - 我这个代码为什么提示错误?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

<!DOCTYPE html>
<html>
<head>
      <meta charset="utf-8">
    <title></title>
</head>
<body>
<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);

?>
</body>
</html>

解决方案

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

<!DOCTYPE html>
<html>
<head>
      <meta charset="utf-8">
    <title></title>
</head>
<body>
<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);
}
?>
</body>
</html>

这篇关于php - 我这个代码为什么提示错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆