gpt4 book ai didi

mysql - 如何通过webform向数据库添加数据

转载 作者:行者123 更新时间:2023-11-29 23:18:57 30 4
gpt4 key购买 nike

我是 PHP 和 MySQL 新手。

我使用基本代码将条目添加到数据库 http://smallbusiness.chron.com/transfer-data-form-database-46976.html我执行以下操作:

数据库:

CREATE TABLE IF NOT EXISTS `autos` (
`CIID` int(11) NOT NULL AUTO_INCREMENT,
`Anio` text,
`Marca` text,
`Tipo` text,
`Modelo` text,
`Color` text,
`Descripcion` text,

PRIMARY KEY (`CIID`)
) ENGINE=MyISAM;

INSERT INTO `autos` (`CIID`, `Anio`, `Marca`, `Tipo`, `Modelo`, `Color`, `Descripcion`) VALUES

('1', '2008', 'VW', 'Auto', 'Jetta', 'Azul', ''),
('2', '2008', 'Chevrolet', 'Auto', 'Cobalt', 'Blanco', ''),
('3', '2006', 'Chevrolet', 'Auto', 'Cobalt', 'Gris', ''),
('4', '2001', 'Chevrolet', 'Suv', 'Avalanche', 'Azul', ''),
('5', '1999', 'Chevrolet', 'Auto', 'Camaro', 'Azul', '');

index.php:

<html>
<head>
<meta charset="utf-8">
</head>
<body>

<b>Añadir Registro:</b>
<form action=add.php method=”post”>
<table border=0>
<tr><td>
Año
</td><td>
<input type="text" name="Anio[]" size="20">
</td></tr><tr><td valign=top>
Marca
</td><td valign=top>
<select name="Marca[]" class="dropdown">
<option value="">Selecciona Marca</option>
<option value=""></option>
<option value="Acura">Acura</option>
<option value="Aston Martin">Aston Martin</option>
<option value="Audi">Audi</option>
<option value="Bentley">Bentley</option>
...
</select>
</td></tr><tr><td valign=top>
Tipo
</td><td valign=top>
<select name="Tipo[]" class="dropdown">
<option value="">Selecciona Tipo</option>
<option value=""></option>
<option value="Moto">Moto</option>
<option value="Auto">Auto</option>
<option value="Minivan">Minivan</option>
...
</select>
</td></tr><tr><td valign=top>
Modelo
</td><td valign=top>
<input type="text" name="Modelo[]" size="20">
</td></tr><tr><td valign=top>
Color
</td><td valign=top>
<input type="text" name="Color[]" size="20">
</td></tr><tr><td valign=top>
Descripción
</td><td valign=top>
<textarea name="Descripcion[]" rows="10" cols="40"></textarea>
</td></tr><tr><td valign=top>

</td><td valign=top>
<input type=submit value="Añadir">
</form>
</td></tr>
</table>

</body>
</html>

添加.php:

<?php
$connect = mysql_connect(“localhost”, “high_pipo”, “*****”);
if (!connect) { die('Connection Failed: ' . mysql_error());
{ mysql_select_db(“high_pipo”, $connect);
$user_info = “INSERT INTO `autos` (CIID, Anio, Marca, Tipo, Modelo, Color, Descripcion) VALUES ('75', '$_POST[Anio]',
'$_POST[Marca]', '$_POST[Tipo]', '$_POST[Modelo]', '$_POST[Color]',
'$_POST[Descripcion]')”;
if (!mysql_query($user_info, $connect)) { die('Error: ' . mysql_error());
}
echo “Your information was added to the database.”;
mysql_close($connect); ?>

我收到以下错误:解析错误:语法错误,第 5 行/home/high/public_html/masautos/administracion/add.php 中出现意外的“INTO”(T_STRING)

我该如何解决这个问题?另外,如何将第一个字段(CIID)定义为add.php或index.php上的自动增量,如db上标记的那样?

最佳答案

如果在您的数据库中 ciid 被标记为自动增量,那么您在插入中不需要它。也尝试不再使用 mysql_query 。准备好的语句是一种更好的方法。

$dbh = new PDO('mysql:host=localhost;dbname=your_database_name', $user, $pass);
$stmt = $dbh->prepare("INSERT INTO `autos` (`Anio`, `Marca`, `Tipo`, `Modelo`, `Color`, `Descripcion`) VALUES (:anio, :marca, :tipo, :modelo, :color, :descripcion)");
$stmt->bindParam(':anio', $_POST['Anio']);
$stmt->bindParam(':marca', $_POST['Marca']);
$stmt->bindParam(':tipo', $_POST['Tipo']);
$stmt->bindParam(':modelo', $_POST['Modelo']);
$stmt->bindParam(':color', $_POST['Color']);
$stmt->bindParam(':descripcion', $_POST['Descripcion']);
$stmt->execute();

如果您在此表的 1 个或 2 个或多个字段中使用索引或主键,则可以在重复键更新上使用 insert ...,如本教程 http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html 所示。如果您想在查询中保留错误日志,则可以将它们包含在 try-catch 语句中,并且可以将错误写入应用程序根目录中的 txt 文件中。关闭数据库连接使用

$dbh = null;

关于mysql - 如何通过webform向数据库添加数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27517343/

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