php - 无法将文本值上传到mysql

标签 php mysql

每次我提交我的网站表单,它只创建一个新的ID。但是其他值都是空的,我该怎么办?

screenshot of table

<?php
error_reporting(E_ALL);ini_set('display_errors',1); 

$servername = "localhost";
$username = "seamaszhou";
$password = "123456";
$dbname = "guest";




$conn = new PDO("mysql:host=$servername;dbname=$dbname", $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("INSERT INTO guest 
(guestName,guestEmail,guestContent) 
VALUES (:guestName, :guestEmail, :guestContent)");

$stmt->bindParam(':guestName', $guestName);
$stmt->bindParam(':guestEmail', $guestEmail);
$stmt->bindParam(':guestContent', $guestContent);

// insert a row
$guestName = "$guestName";
$guestContent = "$guestContent";
$guestEmail = "$guestEmail";
$stmt->execute();



?>

最佳答案

因为您没有设置任何值。当您这样做时:

$guestName = "$guestName";

变量 $guestName 被设置为包含变量 $guestName 当前值的字符串。由于它不包含任何内容,您只需将其设置为空字符串。

使用实际值。例如:

$guestName = "Some name";

或者,如果您确实希望将该变量名作为字符串,请使用单引号,这样它就不会被解释为变量:

$guestName = '$guestName';

关于php - 无法将文本值上传到mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46744068/

相关文章:

mysql - 通过其他表中的字符串匹配分配产品类别

mysql - mysql中的一条记录自引用

php - 使用 DateTime() 获取该月的第 N 天

php - 如何使用 jquery ajax 获取文件列表

javascript - 获取查询字符串并发送到其他文件脚本

mysql - 第二范式 : Artificial key vs Composite Primary Key

MySQL如何将字符串附加到磁盘上的外部文件?

php - 将所有数据从一张表转移到另一张表

php - 如何在变量中存储单个选定的行值?

php - 按 MYSQL 中的特定列排序,带有额外条件