gpt4 book ai didi

php - Mysql从php脚本插入空白字段,但不在phpmyadmin中插入空白字段?

转载 作者:行者123 更新时间:2023-11-30 01:23:52 25 4
gpt4 key购买 nike

我通过 phpmyadmin 将数据插入到我的表中。它向我显示了它使用的查询,因此我将其复制并粘贴到我的 php 代码中。

我的 Php 代码应该提交一个表单,并且我正在尝试将 $_POST('name') 放入查询中。当我运行代码时,它会填写除 version_name 名称所在的字段。

有趣的是我使用相同的 MYSQL 查询将其正确插入到 phpmyadmin 上。

我已经开始尝试使用随机名称而不是 POST 来查看它是否提交,但我一直得到空白...有什么建议吗?

$sql = "INSERT INTO `Prototype`.`Version` ('version_id', `version_name`, `version_status`, `created_date`, `created_by`) VALUES ('','A', 'A', CURRENT_TIMESTAMP, NULL);";

这是插入部分,我也尝试删除 version_id,因为它是自动增加的,但没有帮助。

enter image description here

第一行是从我的 php.ini 提交时的结果。第二行是当我直接从 phpmyadmin 插入它时。

enter image description here

任何帮助从我的 php 提交 version_name 都会很棒!

编辑----

这是我的 php 代码

    <?php

// Retrieve form data
$name = $_POST['name'];

if (!$name) {
echo "save_failed";
return;
}


$db = array(
'host' => 'localhost',
'login' => 'root',
'password' => '',
'database' => 'Prototype',
);

$link = @mysql_connect($db['host'], $db['login'], $db['password']);
if (!$link) {
echo "save_failed";
return;
}
mysql_select_db($db['database']);

// Clean variables before performing insert
$clean_name = mysql_real_escape_string($name);


// Perform insert
$sql = "INSERT INTO `Prototype`.`Version` (`version_name`, `version_status`, `created_date`, `created_by`) VALUES ( 'A', 'A', CURRENT_TIMESTAMP, NULL);";

if (@mysql_query($sql, $link)) {
echo "success";
@mysql_close($link);
return;
} else {
echo "save_failed";
@mysql_close($link);
return;
}

?>

最佳答案

首先,$_POST('name'); 没什么 $_POST['name']; 是对的。现在使用以下查询回答您的问题。

$sql = "INSERT INTO `Prototype`.`Version` (`version_name`, `version_status`, `created_date`, `created_by`) VALUES ('A', 'A', CURRENT_TIMESTAMP, NULL)";

我还在我自己的由您提供的结构制成的 table 上检查了它。下面给出了它的查询。

CREATE TABLE `proto` (  `version_id` int(3) NOT NULL AUTO_INCREMENT,  `version_name` varchar(45) NOT NULL,  `version_status` varchar(45) NOT NULL,  `created_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,  `created_by` varchar(45) DEFAULT NULL,  PRIMARY KEY (`version_id`)) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1

以下代码供您通过php提交。

$options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8');
$db = new PDO("mysql:host=".HOST.";dbname=".DBNAME.";charset=utf8", USERNAME, PASSWORD, $options);
$query = $db->prepare("INSERT INTO `Prototype`.`Version`
(`version_name`,
`version_status`,
`created_date`,
`created_by`)
VALUES
('A',
'A',
CURRENT_TIMESTAMP,
NULL)");
$result = $query->execute();
return $result ? true : false;

关于php - Mysql从php脚本插入空白字段,但不在phpmyadmin中插入空白字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18227630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com