Php 将两个输入与数据库数据进行比较:错误

Php 将两个输入与数据库数据进行比较:错误,php,mysql,Php,Mysql,我试图将两个输入值与MySQL表中同一行的两个值进行比较。 但我总是收到一条错误消息。这个代码有什么问题?(只需一个输入即可正常工作) 您已经创建了一个带有空格的列名。所以在SQL中,它只考虑数字作为列名。你能做的就是。用后引号(`)括起列名。或从列名中删除空格 希望这对您有所帮助。:) 尽管SQL中允许在列名中使用空格,但其原因(在您的示例中)是因为列名Numero Cedula包含空格: v -- space

我试图将两个输入值与MySQL表中同一行的两个值进行比较。 但我总是收到一条错误消息。这个代码有什么问题?(只需一个输入即可正常工作)


您已经创建了一个带有空格的列名。所以在SQL中,它只考虑数字作为列名。你能做的就是。用后引号(`)括起列名。或从列名中删除空格


希望这对您有所帮助。:)

尽管SQL中允许在列名中使用空格,但其原因(在您的示例中)是因为列名
Numero Cedula
包含空格:

                      v -- space                     v -- space
$sql1 = "SELECT Numero Cedula FROM Teste WHERE Numero Cedula=$numero_cedula
  AND Chave=$codigo";
将列名换行为反勾号时,将其更改为以下内容:

$sql1 = "SELECT `Numero Cedula` FROM Teste WHERE `Numero Cedula`=$numero_cedula
  AND Chave=$codigo";
另外,确保
$numero_cedula
$codigo
都是整数,并且列也是
int
类型

如果它们不是,那么两者都需要用引号括起来

即:

$sql1 = "SELECT `Numero Cedula` FROM Teste WHERE `Numero Cedula`='$numero_cedula'
  AND Chave='$codigo'";
或die(mysqli\u error($con))
添加到
mysqli\u query()
中,这将在SQL中显示错误

  • 您还可以使用下划线将数据库中的列重命名为
    Numero\u Cedula
旁注:

你写道:“只需一次输入就可以很好地工作”

您需要详细说明这一点,以及您的表是否包含两个独立的列,如
Numero
或一个
Numero-Cedula


但是,使用此方法会受到影响。使用,或


洞察力:

还要确保表单元素已命名

例如:
name=“numero_cedula”
name=“codigo”

将错误报告添加到文件顶部,这将有助于查找错误

error_reporting(E_ALL);
ini_set('display_errors', 1);

旁注:错误报告只应在暂存阶段进行,而不应在生产阶段进行。

@getlost,这一错误始终意味着我的代码中存在语法错误。更具体地说:内部服务器错误服务器遇到内部错误或配置错误,无法完成您的请求。@manuelmourato请参阅下文。
error_reporting(E_ALL);
ini_set('display_errors', 1);