我创建了一些表(在MySQL中):
create table clients
( clientid int unsigned not null auto_increment primary key,
Name char(50) not null,
SecondName char(50) not null,
address char(100) not null,
City char(30) not null
Email char(100);
我想通过客户填写他的个人数据,从网页输入数据(姓名,SecondName,地址,城市,电子邮件)到我的数据库NewClientBase中,但是clientid应该由程序生成:
<html>
<?php
...
// short names initialization. Taken from filling external form
$Name=$_POST['Name'];
$SecondName=$_POST['SecondName'];
$Address=$_POST['Address'];
$City=$_POST['City'];
$Email=$_POST['Email'];
$clientid=0;
if (!$Name || !$SecondName || !$Address || !$City || !$Email) {
echo "Not all data completed.<br />"
."Return and try again";
exit;
}
if (!get_magic_quotes_gpc()) {
$Name = addslashes($Name);
$SecondName = addslashes($SecondName);
$Address = addslashes($Address);
$City = addslashes($City);
$Email = doubleval($Email);
}
@ $db = new mysqli('localhost', 'root', '********', 'NewClientBase');
$wynik_sprawdzania= mysqli_query($db, $sprawdzanie);
$ile_znalezionych=$wynik_sprawdzania->fetch_row();
$ilosc_pol=$wynik_sprawdzania->field_count;
.....
// a new record with the next number is calculated:
$clientid=$wynik_sprawdzania->fetch_row()+1;
....
and created a new record with this number:
$zapytanie = "insert into clients values ('".$clientid."','".$Name."','".$SecondName."', '".$Address."','".$City."', '".$Email."')";
$wynik = $db->query($zapytanie);
.....
$db->close();
?>
</html>
问题是:$zapytanie = "insert into clients values (5,'".$Name."','".$SecondName."', '".$Address."','".$City."', '".$Email."')";
$wynik = $db->query($zapytanie);
所有记录都正确插入数据库 但如果像这样插入
$zapytanie = "insert into clients values
('".$clientid."','".$Name."','".$SecondName."', '".$Address."','".$City."', '".$Email."')";
$wynik = $db->query($zapytanie);
($ clientid No 5是按程序计算的,如上所示)记录未创建。没有&#34; .clientid。&#34;&#39;并且&#39;。$ clientid。&#39;有谁能够帮我?有解决方案吗?感谢
答案 0 :(得分:0)
ClientId定义为Int,而不是字符串。你试着输入字符串。删除$ clientid上的单引号。
$zapytanie = "insert into clients values
(".$clientid.",'".$Name."','".$SecondName."', '".$Address."','".$City."', '".$Email."')";
$wynik = $db->query($zapytanie);
答案 1 :(得分:0)
变量$ clientid应该被视为整数,不应该添加任何引号。
$zapytanie = "insert into clients values
(".$clientid.",'".$Name."','".$SecondName."', '".$Address."','".$City."', '".$Email."')";
$wynik = $db->query($zapytanie);
希望这有帮助