【发布时间】:2017-07-05 06:58:38
【问题描述】:
我想知道为什么我无法将新数据插入我的数据库。 在 vardump 中我得到了很好的结果,但没有任何东西添加到我的数据库中
数据库:c_id = AutoInc. | a_id | u_id | c_head | c_content | c_date =时间戳
if (isset($_POST['c_submit'])) {
$sql_najdi_prihlaseneho_uzivatela = "SELECT * FROM users where u_name = '$_SESSION[username]'";
$vysledokHladania = mysqli_query($connect_to_db, $sql_najdi_prihlaseneho_uzivatela);
if (mysqli_num_rows($vysledokHladania) == 1) {
while ($db_data_prihlaseneho_uzivatela = mysqli_fetch_assoc($vysledokHladania)) {
$sql_vloz_komentar = "INSERT INTO comments (a_id, u_id, c_head, c_content, c_date) VALUES ($_GET[a_id], $db_data_prihlaseneho_uzivatela[u_id], $_POST[c_hlavicka], $_POST[c_obsah], 'NOW()')";
mysqli_query($connect_to_db, $sql_vloz_komentar);
}
}
}
【问题讨论】:
-
a) 使用准备好的语句来避免 SQL 注入。 b) 检查
mysqli_error()以查看您的查询有什么问题。 -
另外,对
myqsli_result对象执行count()没有意义,您应该检查找到的行数。 -
@Sirko mysqli_error 没有给出任何东西
-
我猜到了,有些值需要包含在
'中。mysqli_query()调用的返回值是多少? -
@Sirko bool(false) 所以问题是 SQL 命令,但 idk where =\