2016-04-15 38 views
0

我真的很抱歉,因为我的错误而来到这里,但我不确定该从哪里出发。正在删除数据条目中的MySQL行

我有一个数据库,可以通过GET表单提交使用PHP和INSERT INTO MySQL查询但是大多数数据可以很好地输入但在一些数据上(例如,如果每列值都是测试),它会删除所有的数据库中的行?我不知道它为什么会发生,最糟糕的是如何解决它。

任何人有任何想法?

DESCRIBE data; 
+---------+--------------+------+-----+---------+-------+ 
| Field | Type   | Null | Key | Default | Extra | 
+---------+--------------+------+-----+---------+-------+ 
| name | varchar(100) | YES |  | NULL |  | 
| company | varchar(100) | YES |  | NULL |  | 
| date | varchar(250) | YES |  | NULL |  | 
| country | varchar(50) | YES |  | NULL |  | 
| notes | varchar(250) | YES |  | NULL |  | 
+---------+--------------+------+-----+---------+-------+ 

是我的MySQL表。我的PHP是如果您有什么需要帮助诊断问题,请询问

+2

搜索触发器 – Mihai

+1

请不要道歉提问。这是社区的目的;如果您遇到困难,请协助解决问题和错误。 –

+0

对不起@Mihai我不是最有技术的那是什么意思? –

回答

0
echo "INSERT INTO data (name, company, algo, country, notes) VALUES ('$name', '$company', '$date', '$country', '$notes')"; 

,并直接在MySQL运行查询并查看结果如下

<?php 
//Connecting to sql db. 
$connect = mysqli_connect('localhost','root','----','----'); 
//Sending form data to sql db. 
$name = mysqli_real_escape_string($connect, $_GET['name']); 
$company = mysqli_real_escape_string($connect, $_GET['company']); 
$date = mysqli_real_escape_string($connect, $_GET['date']); 
$country = mysqli_real_escape_string($connect, $_GET['country']); 
$notes = mysqli_real_escape_string($connect, $_GET['notes']); 

mysqli_query($connect, "INSERT INTO data (name, company, algo, country, notes) VALUES ('$name', '$company', '$date', '$country', '$notes')"); 
?> 

您不应该使用name作为列名称。

+0

它只是说有一个语法错误? –