Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.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
Php 注:#1265列数据被截断';开始';在第一排_Php_Mysql_Phpmyadmin - Fatal编程技术网

Php 注:#1265列数据被截断';开始';在第一排

Php 注:#1265列数据被截断';开始';在第一排,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我已经为轮询应用程序创建了一个名为poll的数据库,以及名为polls和users的表 当我为第二个问题添加SQL时: INSERT INTO `poll`.`polls` (`id`, `question`, `starts`, `ends`) VALUES ('2', 'What''s your favourite web language?', NOW(), '2015-08-12'); 标题中的警告出现了。这是出口: -- phpMyAdmin SQL Dump -- version

我已经为轮询应用程序创建了一个名为
poll
的数据库,以及名为
polls
users
的表

当我为第二个问题添加SQL时:

INSERT INTO `poll`.`polls` (`id`, `question`, `starts`, `ends`) VALUES ('2', 'What''s your favourite web language?', NOW(), '2015-08-12');
标题中的警告出现了。这是出口:

-- phpMyAdmin SQL Dump
-- version 4.2.12deb2
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Aug 10, 2015 at 02:46 PM
-- Server version: 5.5.44-0+deb8u1
-- PHP Version: 5.6.9-0+deb8u1

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!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: `poll`
--

-- --------------------------------------------------------

--
-- Table structure for table `polls`
--

CREATE TABLE IF NOT EXISTS `polls` (
`id` int(11) unsigned NOT NULL,
  `question` text,
  `starts` date DEFAULT NULL,
  `ends` date DEFAULT NULL
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `polls`
--

INSERT INTO `polls` (`id`, `question`, `starts`, `ends`) VALUES
(1, 'What do you think about new whey protein?', '2015-08-10', '2015-08-12'),
(2, 'What''s your favourite web language?', '2015-08-10', '2015-08-12');

--
-- Indexes for dumped tables
--

--
-- Indexes for table `polls`
--
ALTER TABLE `polls`
 ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `polls`
--
ALTER TABLE `polls`
MODIFY `id` int(11) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=3;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
这是由第二个问题的撇号引起的吗


编辑:这不是重复的,因为我在phpMyAdmin中这样做,我知道什么是SQL注入:)

what
s
之间有两个单引号,比如
what

试一试

而不是

INSERT INTO `poll`.`polls` (`id`, `question`, `starts`, `ends`) VALUES ('2', 'What''s your favourite web language?', NOW(), '2015-08-12');

<强>注< <强> >在您的PHP代码中使用<代码> AddiSaleSe()/<代码>以排除这些问题。

尝试考虑SqLYMyMype。它可以控制MySQL如何处理错误

您可以将会话sql\u模式设置为:

SET SESSION sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,ALLOW_INVALID_DATES'

它还告诉您如何使它持久。

就像我想的那样:)谢谢。但是,我发送了另一个问题更新请求:更新
轮询
轮询
设置
问题
=“您最喜欢的web语言是什么?”其中
轮询
id
=2;小撇号会自动添加。@JayBlanchard,我知道发生了什么。该方法阻止转义字符串,但您是对的。@Nikola您可以尝试
更新poll.polls SET question='What's your favorite web language',其中polls.id=2我已经尝试过了,但是之后,添加了更多字符。(\before\和“before”)。这没关系,谢谢。如果你知道了,你就永远不会有这样的问题@Nikola
SET SESSION sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,ALLOW_INVALID_DATES'