SQL Query在MySQL Admin中有效,但在PHP mysqli中无效

时间:2015-09-19 14:35:16

标签: php mysql mysqli

我知道在stackoverflow上已经提到了类似的问题,但在尝试了所有提到的事情后,我仍然没有找到解决方案。

这是我的疑问:

$query = "CREATE TABLE IF NOT EXISTS `sygauth`.`accounts` (
        `id` INT NOT NULL,
        `email` VARCHAR(64) NOT NULL,
        `pass` VARCHAR(64) NOT NULL,
        `name` VARCHAR(64) NULL,
        `last_name` VARCHAR(64) NULL,
        `display_name` VARCHAR(64) NOT NULL,
        `last_login` DATE NULL,
        `disabled` INT NOT NULL,
        PRIMARY KEY (`id`));
    CREATE TABLE IF NOT EXISTS `sygauth`.`products` (
        `id` INT NOT NULL,
        `name` VARCHAR(64) NOT NULL,
        PRIMARY KEY (`id`));"

然后我通过mysqli连接执行查询。 当我通过我的管理界面执行此查询(没有双引号ofc)时,它工作得很好。 一旦我尝试通过PHP执行查询,我就会收到此错误:

"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE TABLE IF NOT EXISTS `sygauth`.`products` (   `id` INT NOT NULL,  `name` ' at line 1" 

我无法弄清楚错误在哪里:( 我希望有人可以帮助我,我打赌这是一个非常简单的失败,但正如我已经说过,我还没有找到任何解决方案。

电贺!

2 个答案:

答案 0 :(得分:1)

如果您正在使用<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script src="scripts/ASPSnippets_Pager.min.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { GetCustomers(0); }); }); $(".Pager .page").live("click", function () { GetCustomers(parseInt($(this).attr('page'))); }); function GetCustomers(pageIndex) { var oemID = $("#<%=ddlOEM.ClientID%>").val(); var oemName = $("#<%=ddlOEM.ClientID%>").text(); var pageSize = 30; $.ajax({ type: "POST", url: "Patches.aspx/GetPatchList", data: '{oem:' + oemID + ', pageIndex: ' + pageIndex + ',pageSize:' + pageSize + '}', contentType: "application/json; charset=utf-8", dataType: "json", success: OnSuccess, failure: function (response) { alert(response.d); }, error: function (response) { alert(response.d); } }); } function OnSuccess(response) { var pager = xml.find("Pager"); $(".Pager").ASPSnippets_Pager({ ActiveCssClass: "current", PagerCssClass: "pager", PageIndex: parseInt(pager.find("PageIndex").text()), PageSize: parseInt(pager.find("PageSize").text()), RecordCount: parseInt(pager.find("RecordCount").text()) }); }; </script> <div class="Pager"></div> ,则一次不能执行超过1个sql语句(查询中有2个mysqli_query语句)。如果您必须在一次调用中运行两个语句,请使用create。否则请拨打mysqli_multi_query两次。

答案 1 :(得分:1)

由于您尝试在单个查询中执行两个语句,因此它有点被认为是问题所在。尝试使用两个private void txtSearchExpr_TextChanged(object sender, EventArgs e) { if (!string.IsNullOrEmpty(txtSearchExpr.Text)) { dataGridEmpList.DataSource = MyExcel.FilterEmpList(cmbSearch.Text.ToString(), txtSearchExpr.Text.ToLower()); } else { dataGridEmpList.DataSource = MyExcel.PatientList; } } 执行,如:

mysqli_query();