我无法对我的数据库进行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
答案 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'] . "')";**