Php PDO/SQL不插入数据:简单示例

Php PDO/SQL不插入数据:简单示例,php,mysql,sql,Php,Mysql,Sql,Im使用php.net中的以下示例: <?php // configuration $dbuser = "userone"; $dbpass = "useronepass"; // database connection $dbh = new PDO("mysql:host=localhost;dbname=testone",$dbuser,$dbpass); $stmt = $dbh->prepare("INSERT INTO myTable (one, two) VALUE

Im使用php.net中的以下示例:

<?php
// configuration

$dbuser = "userone";
$dbpass = "useronepass";

// database connection
$dbh = new PDO("mysql:host=localhost;dbname=testone",$dbuser,$dbpass);

$stmt = $dbh->prepare("INSERT INTO myTable (one, two) VALUES (:name, :value)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':value', $value);

// insert one row
$name = 'one';
$value = 'two';
$stmt->execute();

?>

我已经验证了所有凭据,并且同一个连接在其他文件中工作,但是我没有在字段中插入任何值,顺便说一下,这是VARCHAR数据类型

我错过了什么


谢谢

在定义参数值(
$name
$value
)之前,必须通过
bindParams()
绑定所有参数

试着这样做:

$stmt = $dbh->prepare("INSERT INTO myTable (one, two) VALUES (:name, :value)");
// insert one row
$name = 'one';
$value = 'two';
$stmt->bindParam(':name', $name);
$stmt->bindParam(':value', $value);


$stmt->execute();

在绑定参数之前,不会设置
$name
$value

<?php
// configuration

$dbuser = "userone";
$dbpass = "useronepass";

// database connection
$dbh = new PDO("mysql:host=localhost;dbname=testone",$dbuser,$dbpass);

$stmt = $dbh->prepare("INSERT INTO myTable (one, two) VALUES (:name, :value)");

// add
$name = 'one';
$value = 'two';

$stmt->bindParam(':name', $name);
$stmt->bindParam(':value', $value);

/* remove
$name = 'one';
$value = 'two'; */
$stmt->execute();

?>


谢谢您的帮助;在我发布问题之前,我已经试过了。事实证明,在我插入数据之前,我所有的字段都需要默认值???是的,它起作用了,但直到我将默认值添加到所有字段,我不明白为什么会出现这种情况。谢谢你的帮助;请参阅我上面关于默认值的评论。有兴趣知道为什么!表
myTable
是否存在,数据库
testone
是否存在?用户和密码是否正确?见下文;它正在工作,但我必须先修改表,请参见下文?我不明白,在下面给Awlad的帖子中看到我的评论。