【问题标题】:Can't Insert data into MySQL using PHP无法使用 PHP 将数据插入 MySQL
【发布时间】:2013-04-21 22:01:40
【问题描述】:

我被难住了 :( 我已经进行了搜索并尝试了许多变体,但似乎无法确定我的问题,所以唉,我在这里。

  • 首先我是新手,我正在通过网络搜索和实验来学习,所以在你把我撕成一个新手之前,请记住我是一个新手并且已经承认并且宁愿说话关于我的解决方案,而不是其他任何事情。

项目:尝试制作一个小网络应用程序,允许我将漫画书信息插入 mysql 数据库。我已经构建了表单来接受数据并将其传递给我的 php 页面,该页面将插入到 mysql 中。

  • 这是一个自我应用程序/这不会暴露于外部世界/虽然我知道并且目前正在开发数据检查,但我需要在收集失控之前将信息输入数据库。

这是我目前拥有的代码。我已经尝试了很多变化,我不知道哪种方式是向上的......

$idcomic_db = $_POST['idcomic_db'];
$publisher = $_POST['publisher'];
$comic_name = $_POST['comic_name'];
$comic_num = $_POST['comic_num'];
$comic_cover = $_POST['comic_cover'];
$price_paid = $_POST['price_paid'];
$quantity = $_POST['quantity'];


$sql_insert = "INSERT INTO `comic_info_db`.`comic_db` (`idcomic_db`, `publisher`, `comic_name`, `comic_num`, `comic_cover`, `price_paid`, `quantity`) VALUES ('$idcomic_db', '$publisher', '$comic_name', '$comic_num', '$comic_cover', '$price_paid', '$quantity')";
$mysql_con = mysqli_query($sql_insert, $con);
$error = mysqli_error($mysql_con);

?>

<!-- HTML Header Information  -->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<link rel="stylesheet" type="text/css" href="/style/style.css">
<head>
    <title>Comic Database Results</title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
</head>

<!-- HTML Body Area -->

<body>
<?php

echo "$idcomic <br />";
echo "$publisher <br />";
echo "$comic_name <br />";
echo "$comic_num <br />";
echo "$comic_cover <br />";
echo "$price_paid <br />";
echo "$quantity <br />";
echo "<br />";
echo $sql_insert;
echo $error;
?>

<?php
// Close Connection
mysqli_close($con);

?>

我有一些代码可以用来检查值,但是很多值是在表单本身中设置的。

最后我还在做这些回声,只是为了查看来自 html 表单的值,而且我还有一些其他代码,它们是数据库的连接信息以及错误(如果有的话) 并且回来就好了。

任何帮助都会很棒。如果这很简单,我再次道歉,我似乎无法理解,所以我把自己放在了改变上。

【问题讨论】:

  • 您能否发布表 sql 数据结构 - 因为您可能会根据插入 sql 将字符串插入 ints 字段
  • 没有收到错误,但我认为我的代码没有设置为显示 mysql 方面的内容。当我回显值和它正确显示的字符串 INSERT INTO Comic_db(idcomic_db,publisher,comic_name,comic_num,comic_cover,price_paid,quantity)VALUES('1','Marvel Comics','The Superior Spider-Man' , '1', 'original', '3.99', '1') 是值返回插入到 db 中。
  • 我也已经确保我用于数据库的用户具有正确的权限,并且它表明它对所有数据库具有全局完全访问权限
  • 我还应该注意,我可以与数据库通信,因为在我收集数据的表单输入页面上,其中一个值 (idcomic_db) 提取唯一键所在的数字并添加一个然后设置该值传递给 idcomic_db 值。所以我知道我的连接很好,因为我可以在 db 中更改该值并在 html 表单的选项字段中获得所需的结果。所以至少可以说,我完全被难住了。

标签: php insert mysqli


【解决方案1】:

尝试对包含变量的字符串使用双引号(如“值”部分中的 INSERT 查询字符串)

【讨论】:

  • 让我试一试看看。我想我需要转义每个 " 因为整个语句都以 "
【解决方案2】:

由于 $con 应该已经选择了数据库,所以您需要做的就是告诉它您要输入值的表。以下字符串应该适合您。

$sql_insert = "INSERT INTO comic_tb (idcomic_db, publisher, comic_name, comic_num, comic_cover, price_paid, quantity) VALUES ('$idcomic_db', '$publisher', '$comic_name', '$comic_num', '$comic_cover', '$price_paid', '$quantity')";

确保所有字段和变量都正确。

【讨论】:

  • 试了一下,还是不行。还尝试在事物的列部分中添加`,并且确实可以做任何事情:(尽管提供帮助
【解决方案3】:

我的连接声明被颠倒了。

($con, $sql_insert)
($sql_insert, $con)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-25
    • 1970-01-01
    • 2023-03-16
    相关资源
    最近更新 更多