将会话插入 Mysql [关闭]

Posted

技术标签:

【中文标题】将会话插入 Mysql [关闭]【英文标题】:Insert session into Mysql [closed] 【发布时间】:2021-09-12 19:02:11 【问题描述】:

我是 php 新手,我正在尝试在我的数据库中输入详细信息。

我想将数据插入数据库的会话

<form method="post" action="">
  <input name="p_date" type="date">
  <input name="r_date" type="date">
</form>

 if (!empty($_POST)) 
     $_SESSION['p_date'] = $_POST['p_date'];
     $_SESSION['r_date'] = $_POST['r_date'];

此代码,True 一侧的 Url 正在旋转,但无法将数据添加到数据库。 我哪里错了?

if(isset($_POST['dateSearch'])) 
    $insert=$connect->prepare("Insert Into test (p_date,r_date) VALUES ('$_SESSION['p_date']','$_SESSION['r_date']'");

    if($insert) 
        header("Location:cars.php?Status=True");
    
    else 
        header("Location:cars.php?Status=False");

    

提前谢谢..

【问题讨论】:

你从不执行查询,只是准备它。 您也不应该将变量直接替换到查询中。在查询中放置占位符,然后使用bind_param() 将变量与占位符关联。 bindParam(),如果您使用的是 PDO。 你能把它写成代码吗?因为 PHP 在该领域我是新人:\ 查看***.com/questions/60174/… 和许多其他资源,它已经包含足够的示例供您使用 【参考方案1】:

对于 pdo,应该这样做:

$sql = "INSERT INTO test (p_date,r_date) VALUES (?,?)";
$stmt= $pdo->prepare($sql);
$stmt->execute([$p_date,$r_date]);

对于 mysqli,你可以这样做:

    $stmt = $conn->prepare("INSERT INTO test (p_date,r_date) VALUES (?, ?)");
    $stmt->bind_param("ss", $p_date,$r_date);
    
    $p_date = 'string';
    $r_date ='string';
    $stmt->execute();
    $stmt->close();

【讨论】:

我认为在 PDO 示例中显示命名占位符会更好。这是 PDO 的主要优势之一。

以上是关于将会话插入 Mysql [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

MySQL帮助:将数据插入两个表[关闭]

如何使用 Python 将空格分隔的文本文件插入 mysql? [关闭]

无法插入数据java mysql [关闭]

JSON / PHP数组到MYSQL插入[关闭]

nodejs / express中的数据库会话支持[关闭]

java - 如何使用rmi在java中的mysql(jdbc)中插入一条记录? [关闭]