Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL-尝试插入时冻结_Mysql - Fatal编程技术网

MySQL-尝试插入时冻结

MySQL-尝试插入时冻结,mysql,Mysql,请注意,我是一个相对新手,在学习PHP和Mysql时遇到了一个问题 在一个名为“zips”的数据库中,有一个名为“zip_code”的表,我使用此代码在mysql中成功地添加了一个名为stores的表 CREATE TABLE stores ( store_id SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR(60) NOT NULL, address1 VARCHAR(100) NOT NUL

请注意,我是一个相对新手,在学习PHP和Mysql时遇到了一个问题

在一个名为“zips”的数据库中,有一个名为“zip_code”的表,我使用此代码在mysql中成功地添加了一个名为stores的表

 CREATE TABLE stores ( 
    store_id SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT, 
    name VARCHAR(60) NOT NULL, 
    address1 VARCHAR(100) NOT NULL, 
    address2 VARCHAR(100) default NULL, 
    zip_code INT(5) UNSIGNED ZEROFILL NOT NULL, 
    phone VARCHAR(15) NOT NULL, 
    PRIMARY KEY (store_id), 
    KEY (zip_code) 
    );
之后,我将下面15行左右的数据插入表中,但在我无数次尝试的过程中,它似乎只是冻结了一些东西。例如,命令行没有给我通常受影响的行输出,而是显示一个
'>
,我无法再输入SQL,甚至无法退出

因此,我手动关闭命令行并再次打开它,并尝试了相同的操作,结果相同。为了便于修改,我还尝试只输入一行数据(15行的整数),但得到了相同的结果

有人知道发生了什么吗

INSERT INTO stores (name, address1, address2, zip_code, phone) VALUES 
(‘Ray''s Shop', ‘49 Main Street', NULL, ‘63939', ‘(123) 456-7890'), 
(‘Little Lulu''s', ‘12904 Rockville Pike', ‘#310', ‘10580', ‘(123) 654- 7890'), 
(‘The Store Store', ‘8200 Leesburg Pike', NULL, ‘02461', ‘(123) 456- 8989'), 
(‘Smart Shop', ‘9 Commercial Way', NULL, ‘02141', ‘(123) 555-7890'), 
(‘Megastore', ‘34 Suburban View', NULL, ‘31066', ‘(555) 456-7890'), 
(‘Chain Chain Chain', ‘8th & Eastwood', NULL, ‘80726', ‘(123) 808-7890'), 
(‘Kiosk', ‘St. Charles Towncenter', ‘3890 Crain Highway', ‘63384', ‘(123) 888-4444'), 
(‘Another Place', ‘1600 Pennsylvania Avenue', NULL, ‘05491', ‘(111) 456- 7890'), 
(‘Fishmonger''s Heaven', ‘Pier 9', NULL, ‘53571', ‘(123) 000-7890'), 
(‘Hoo New', ‘576b Little River Turnpike', NULL, ‘08098', ‘(123) 456-0000'), 
(‘Vamps ‘'R'' Us', ‘Our Location', ‘Atwood Mall', ‘02062', ‘(222) 456- 7890'), 
(‘Five and Dime', ‘9 Constitution Avenue', NULL, ‘73503', ‘(123) 446- 7890'), 
(‘A & P', ‘890 North Broadway', NULL, ‘85329', ‘(123) 456-2323'), 
(‘Spend Money Here', ‘1209 Columbia Pike', NULL, ‘10583', ‘(321) 456- 7890');

问题似乎出在你的引号上——它们不匹配。您应该将字符串放在单引号
或双引号
(相同的开始和结束标记)中

…等等


mysql命令行上的
提示表明它正在等待进一步的输入。实际上,我发现当我省略结尾分号时通常会发生这种情况。但是,如果解释器认为您正在输入字符串,它会假定您的分号是该字符串的一部分,并愉快地等待您完成。

我在phpmyadmin中尝试了您的代码,但出现了一些错误。请尝试以下操作:

INSERT INTO `stores` (`store_id`, `name`, `address1`, `address2`, `zip_code`, `phone`) 
VALUES (NULL, "Ray's Shop", '49 Main Street', NULL, '63939', '(123) 456-7890');
使用如下示例所示的函数

    $query = sprintf("INSERT INTO product_description (language_id,name) VALUES ( '1','%s') ",mysql_real_escape_string($product_name));   
 mysql_query($query) or die(mysql_error());

正确设置插入的格式。这里有很多引号错误。@埃默曼谢谢,你能给我一个格式错误的例子吗?转义所有的值我在每个条目周围只看到单引号。它们怎么不匹配?你能给我一个例子吗?谢谢。你是用某种曲线的开引号字符开始的,用ASCII单引号结束的
。它们是不同的字符。谢谢。它起作用了。你用双引号了吗?”“在Ray的商店附近,因为里面有一个撇号?是的,虽然你的方式也很好:
'Ray's Shop'
,但是为什么你的行得通,而我的前两行不行呢?”。我看不出还有什么区别吗?我试过你的例子时出错了。你觉得有什么问题吗?您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解在
存储中使用的正确语法(
存储id
名称
地址1
地址2
邮政编码
邮政编码
,第1行的'ph'奇怪的是,它对我有效。尝试将上面的代码与“Ray's Shop”一起使用。它不应该起作用。反引号字符仅用于分隔表名和字段名,很少需要。文字字符串应该用单引号分隔。
“或双引号分隔。感谢您的澄清,但它在我的本地主机中起作用。我使用的是WampServer 2.1版附带的mysql5.1.53。
    $query = sprintf("INSERT INTO product_description (language_id,name) VALUES ( '1','%s') ",mysql_real_escape_string($product_name));   
 mysql_query($query) or die(mysql_error());