插入命令不起作用,错误消息拆分$ _SESSION []变量

时间:2018-06-12 14:01:20

标签: php mysql

我无法对我的数据库进行INSERT,并且错误消息非常奇怪(至少对我而言)。正如许多在这里寻求答案的人一样,我对PHP和编程都很陌生。

它连接到数据库很好,在其他页面中它也可以提取更多数据。

$ i 运行时,它会更改 $ _ SESSION ['codigo'。$ i] $ _ SESSION ['qtd'。$ i] 。这些是我最感兴趣的变量。

请参阅下面的一些代码。

$i=1;

while ($i<=$_SESSION['preenchidos']){


$sql_salvarBPA = "INSERT INTO `bpa`
(`Tipo`, 
`ESPECIALIDADE`, 
`PROCEDIMENTO`, 
`QUANTIDADE`, 
`CIDADE`, 
`DATA`, 
`NOME`, 
`CARTAOSUS`, 
`SEXO`, 
`DATA_NASCIMENTO`, 
`VIA`, 
`ENDERECO`, 
`NUMERO`, 
`COMPLEMENTO`, 
`BAIRRO`, 
`Data_input`, 
`Usuario_IP`) 

VALUES (
".$_SESSION['tipo'].",
".$_SESSION['especialidade'].",
".$_SESSION['codigo'.$i].",
".$_SESSION['qtd'.$i].",
".$_SESSION['cidade'].",
".$_SESSION['dataatendimento'].",
".$_SESSION['medico'].",
".$_SESSION['cartaosus'].",
".$_SESSION['sexo'].",
".$_SESSION['datanascimento'].",
".$_SESSION['via'].",
".$_SESSION['endereco'].",
".$_SESSION['numero'].",
".$_SESSION['complemento'].",
".$_SESSION['bairro'].",
".$_SESSION['datainput'].",
".$_SESSION['origem'].")";

if (mysqli_query($conectar, $sql_salvarBPA)) {
echo "New record created successfully<br><br>";
} else {
echo "Error: " . $sql_salvarBPA . "<br>" . mysqli_error($conectar)."<br><br>";
}

$i++;

}

我得到以下错误消息(为了更好的阅读,行被打破)。它非常奇怪,它破坏了其中一个变量并在Mysql INSERT语句中间停止。我已经检查过它是否是一个简单的引号错误,但似乎并非如此,因为它会拉动并识别QUERY的结果。

 Error: INSERT INTO `bpa` (`Tipo`, `ESPECIALIDADE`, `PROCEDIMENTO`, 
`QUANTIDADE`, `CIDADE`, `DATA`, `NOME`, `CARTAOSUS`, `SEXO`, 
`DATA_NASCIMENTO`, `VIA`, `ENDERECO`, `NUMERO`, `COMPLEMENTO`, `BAIRRO`, 
`Data_input`, `Usuario_IP`) VALUES ( MEDICO, ULTRASSONOGRAFIA, 
02.05.01.004-0, 1, city name, 2018-06-12, doctor name, 
415, masculino, 2018-05-30, S, S, 1, S, S, 12/06/2018 - 10:28:32am, IP 
Cliente: ***********)

Erreur de syntaxe pr�s de '.01.004-0, 1, city name, 2018-06-12, doctor name, 415' � la ligne 23

Error: INSERT INTO `bpa` (`Tipo`, `ESPECIALIDADE`, `PROCEDIMENTO`, 
`QUANTIDADE`, `CIDADE`, `DATA`, `NOME`, `CARTAOSUS`, `SEXO`, 
`DATA_NASCIMENTO`, `VIA`, `ENDERECO`, `NUMERO`, `COMPLEMENTO`, `BAIRRO`, 
`Data_input`, `Usuario_IP`) VALUES ( MEDICO, ULTRASSONOGRAFIA, 
02.05.02.008-9, 1, city name, 2018-06-12, doctor name, 
415, masculino, 2018-05-30, S, S, 1, S, S, 12/06/2018 - 10:28:32am, IP 
Cliente: ****)

Erreur de syntaxe pr�s de '.02.008-9, 1, city name, 2018-06-12, doctor name, 415' � la ligne 23

这是我的Mysql数据库表的配置方式:

1   Tipo            mediumtext          utf8_unicode_ci
2   ESPECIALIDADE   mediumtext          utf8_unicode_ci
3   PROCEDIMENTO    text                utf8_unicode_ci
4   QUANTIDADE      int(11) 
5   CIDADE          mediumtext          utf8_unicode_ci
6   DATA            date    
7   NOME            text                utf8_unicode_ci
8   CARTAOSUS       text                utf8_unicode_ci
9   SEXO            text                utf8_unicode_ci
10  DATA_NASCIMENTO date    
11  VIA             text                utf8_unicode_ci
12  ENDERECO        text                utf8_unicode_ci
13  NUMERO          int(11) 
14  COMPLEMENTO     text                utf8_unicode_ci
15  BAIRRO          text                utf8_unicode_ci
16  Data_input      timestamp   
17  Usuario_IP      text                utf8_unicode_ci

2 个答案:

答案 0 :(得分:2)

字符串类型值应包含在单引号('')

所以而不是

".$_SESSION['tipo'].",

'".$_SESSION['tipo']."',

等等

答案 1 :(得分:1)

将您的查询 $ sql_salvarBPA = 语句替换为此

将引号'添加到除之外的数据类型

**$sql_salvarBPA = "INSERT INTO `bpa`
(`Tipo`, 
`ESPECIALIDADE`, 
`PROCEDIMENTO`, 
`QUANTIDADE`, 
`CIDADE`, 
`DATA`, 
`NOME`, 
`CARTAOSUS`, 
`SEXO`, 
`DATA_NASCIMENTO`, 
`VIA`, 
`ENDERECO`, 
`NUMERO`, 
`COMPLEMENTO`, 
`BAIRRO`, 
`Data_input`, 
`Usuario_IP`) 
VALUES (
'" . $_SESSION['tipo'] . "',
'" . $_SESSION['especialidade'] . "',
'" . $_SESSION['codigo' . $i] . "',
" . $_SESSION['qtd' . $i] . ",
'" . $_SESSION['cidade'] . "',
'" . $_SESSION['dataatendimento'] . "',
'" . $_SESSION['medico'] . "',
'" . $_SESSION['cartaosus'] . "',
'" . $_SESSION['sexo'] . "',
'" . $_SESSION['datanascimento'] . "',
'" . $_SESSION['via'] . "',
'" . $_SESSION['endereco'] . "',
" . $_SESSION['numero'] . ",
'" . $_SESSION['complemento'] . "',
'" . $_SESSION['bairro'] . "',
'" . $_SESSION['datainput'] . "',
'" . $_SESSION['origem'] . "')";**