Php 通过下拉式MYSQL将值插入数据库&引用;SQL语法错误&引用;
我在将一些下拉框中的值插入MYSQL数据库时遇到问题 我想我已经把它缩小到了.sql文件中的一个问题。我已经坐了几个小时试图弄明白这一点,但我是一个完全的初学者,所有这一切,可能是错过了一些非常小的东西Php 通过下拉式MYSQL将值插入数据库&引用;SQL语法错误&引用;,php,mysql,Php,Mysql,我在将一些下拉框中的值插入MYSQL数据库时遇到问题 我想我已经把它缩小到了.sql文件中的一个问题。我已经坐了几个小时试图弄明白这一点,但我是一个完全的初学者,所有这一切,可能是错过了一些非常小的东西 mysql\u error()显示: 您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解第1行的“”附近使用的正确语法 SQL文件: -- phpMyAdmin SQL Dump -- version 3.3.9 -- http://www.phpmyadmin.net --
mysql\u error()
显示:
您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解第1行的“”附近使用的正确语法
SQL文件:
-- phpMyAdmin SQL Dump
-- version 3.3.9
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Jun 27, 2012 at 10:06 PM
-- Server version: 5.5.8
-- PHP Version: 5.3.5
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Database: `chilli`
--
DROP DATABASE IF EXISTS `chilli`;
CREATE DATABASE `chilli` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `chilli`;
-- --------------------------------------------------------
--
-- Table structure for table `survey`
--
DROP TABLE IF EXISTS `survey`;
CREATE TABLE IF NOT EXISTS `survey` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT NULL,
`videos` varchar(50) NOT NULL,
`scoville` varchar(50) NOT NULL,
`extract` varchar(50) NOT NULL,
`onions` varchar(50) NOT NULL,
`retail` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
--
-- Dumping data for table `survey`
--
INSERT INTO `survey` (`id`, `username`, `videos`, `scoville`, `extract`, `onions`, `retail`) VALUES
(1, 'sean', 'Yes', '0-200,000 SHU', 'Yes', 'No', 'No');
-- --------------------------------------------------------
--
-- Table structure for table `orders`
--
DROP TABLE IF EXISTS `orders`;
CREATE TABLE IF NOT EXISTS `orders` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`address` varchar(50) NOT NULL,
`mild` varchar(50) NOT NULL,
`medium` varchar(50) NOT NULL,
`hot` varchar(50) NOT NULL,
`v_hot` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
--
-- Dumping data for table `orders`
--
INSERT INTO `orders` (`id`, `address`, `mild`, `medium`, `hot`, `v_hot`) VALUES
(1, 'Fairman Place', 'Ancho', 'Chipotle', 'Shabu Shabu', 'Infinity Chilli');
PHP代码:
<?php require_once('Connections/localhost.php'); ?>
<?php
$add = $_POST['address'];
$mild = $_POST['mild'];
$medi = $_POST['medium'];
$hot = $_POST['hot'];
$v_hot = $_POST['v_hot'];
mysql_select_db($database_localhost,$localhost);
$q2 = "INSERT INTO orders VALUES (NULL, '$add', $mild', '$medi', '$hot', '$v_hot')";
$r2 = mysql_query($q2,$localhost);
if (mysql_affected_rows($localhost) == 1) {
echo '<script type="text/javascript" language="javascript">
alert("Your order has been placed! Thank You.");
history.back();</script>';
}
else {
//query failure
echo mysql_error();
echo '<script type="text/javascript" language="javascript">
alert("The order could not be completed due to a system error");
history.back();</script>';
}
mysql_close($localhost);
?>
请注意
从sql文件中可以看到,有两个表(测量和订单)。第一个表(survey)运行良好,PHP代码几乎相同。它可以毫无问题地将记录添加到表中。但我似乎无法向第二个表(订单)添加值
从我在这个网站上看到的其他人的代码来看,我的代码可能看起来有点不正统,所以请随意提及整理代码的任何技巧
从我所看到的内容来看,这个话题已经讨论了好几次,但我似乎仍然无法通过模仿给出的答案找到解决方案
提前感谢。您的查询中缺少一个报价:
$q2 = "INSERT INTO orders VALUES (NULL, '$add', $mild', '$medi', '$hot', '$v_hot')";
^
Right here
您的查询中缺少一个报价:
$q2 = "INSERT INTO orders VALUES (NULL, '$add', $mild', '$medi', '$hot', '$v_hot')";
^
Right here
我想我恨你,也同样爱你。非常感谢,这就成功了。我会在10分钟内接受你的回答。我想我恨你,也同样爱你。非常感谢,这就成功了。我会在10分钟内接受你的回答。