2

SQL Fiddle供参考和表架构

我正在使用 WebClient 读取和写入远程数据库(MySql v5.5)。我正在尝试使用此查询在表中写入:

 string query "INSERT INTO ProgettoGruppi (`id`, `progettoID`, `gruppoID`, `orePreviste`, `oreAttuali`, `stato`) VALUES (NULL, 1, 2, 0, 0, 'test3')"

这是我的数据库的答案:

“数据库访问失败:您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '\'test3\')' 附近使用正确的语法”

如果我用 NULL 替换 'test3' 它工作正常。

在字符串中写入“test3”的正确格式是什么?

这是我正在使用的代码:

string PASSWORD_STRING = "&password=xxx";
string USER_STRING = "?user=xxx";
string query1 = "INSERT INTO ProgettoGruppi (`id`, `progettoID`, `gruppoID`, `orePreviste`, `oreAttuali`, `stato`) VALUES (NULL, 1, 2, 0, 0, 'test3')";
string query2 = @"&query=" + query1;
byte[] responseArray = threadClient.DownloadData(@"http://www.xxxxxx.it/getDataFromMySql.php" + USER_STRING + PASSWORD_STRING + query2);

这是使用的 PHP 代码:

$c_query = $_GET['query'];
$tSql = $c_query;
$result = mysql_query($tSql)
if (!$result) die ("Database access failed: " . mysql_error());
$rows = mysql_num_rows($result);
for ($j = 0 ; $j < $rows ; ++$j)
{
    $Filed[$j] = mysql_fetch_row($result);
}
$json_string = json_encode($Filed); 
echo $json_string ;
4

2 回答 2

0

我在 php 代码上发现了问题(@steve 是怎么想的)

我从 c# 发送这个字符串:

string query "INSERT INTO ProgettoGruppi (`id`, `progettoID`, `gruppoID`, `orePreviste`, `oreAttuali`, `stato`) VALUES (NULL, 1, 2, 0, 0, 'test3')"

在 PHP 文件中我收到这个字符串

"INSERT INTO ProgettoGruppi (`id`, `progettoID`, `gruppoID`, `orePreviste`, `oreAttuali`, `stato`) VALUES (NULL, 1, 2, 0, 0, \'test3\')"

我在我的 PHP 代码中使用了stripslashes()来删除斜杠。

感谢大家的帮助。

于 2013-09-30T17:32:28.087 回答
0

验证您的字段是否接受 NULL 值,并且每个 nvarchar 字段都需要“”,就像您的“test3”一样,您可能需要设置“1”、“2”等。如果您使用的是 nvarchar 字段

否则,如果不需要,删除“id”字段,并删除 NULL 值

于 2013-09-30T13:52:58.837 回答