SQL、PHP、Prepared语句
我试图使用一个准备好的语句从PHP填充我的表 没有抛出错误,但是数据没有进入表。这是我的密码:SQL、PHP、Prepared语句,php,sql,prepared-statement,Php,Sql,Prepared Statement,我试图使用一个准备好的语句从PHP填充我的表 没有抛出错误,但是数据没有进入表。这是我的密码: $stmt = $mysqli->prepare("INSERT INTO Parks VALUES (null,?,?,?,?,?,?,?,?,?,?,?,?,?,Now(),?,?,?, 0, 0, 0)"); if ($stmt === FALSE) { die ("Mysql Error: " . $mysqli->error); } $stmt-&
$stmt = $mysqli->prepare("INSERT INTO Parks VALUES (null,?,?,?,?,?,?,?,?,?,?,?,?,?,Now(),?,?,?, 0, 0, 0)");
if ($stmt === FALSE) {
die ("Mysql Error: " . $mysqli->error);
}
$stmt->bind_param('ssssssssssssssss', $name, $theme, $size, $mountains, $hills, $river, $lake, $island, $setofislands, $ocean, $waterfalls, $file, $image, $description, $author,$cs);
$stmt->execute();
$stmt->close();
$mysqli->close();
提前谢谢
数据类型:
- ID(整数(自动递增))
- 姓名(varchar(255))
- 主题(varchar(255))
- 大小(varchar(255))
- 山脉(瓦尔查尔(255))
- 希尔(瓦尔查尔(255))
- 河流(瓦尔查尔(255))
- 湖(瓦尔查尔(255))
- 岛屿(瓦查尔(255))
- setofilinds(varchar(255))
- 海洋(瓦尔查尔(255))
- 瀑布(瓦尔查尔(255))
- 文件(varchar(255))
- 图像(varchar(255))
- 上载日期(日期)
- 说明(varchar(255))
- 作者(varchar(255))
- 政务司司长(瓦尔查尔(2000))
- 下载(int(255))
- 评级(双)
- 文件大小(BigInt(20)
注意:我曾在一个测试数据库上尝试过准备好的语句,该数据库只有一列,可以工作…经过一系列的尝试和错误,我能够解决这个问题 似乎:
$stmt->bind_param('ssssssssssssssssi', etc
$stmt->exceute();
需要,并列出列名:
Insert into Parks (name, description) Values (?, ?)
是否需要进行更改以使其正常工作。
为了确认,现在一切都正常了,感谢大家对此的支持!:)尝试删除bind_param()并将数据放入execute()中,您需要在每次与database@user1662290你能把错误贴在这里吗?没有错误。数据库中没有显示数据。绑定参数的数量是否与
的数量匹配?
?我正在计算一个额外的参数被绑定(不知道PHP在这种情况下是否会自动失败)。如果您的值与表中的所有字段匹配,则不需要该列表。2.不管怎样,mysql都会在这样的情况下抛出错误,并且您已经被告知要检查错误。