代码不会在数据库中打印值

时间:2014-05-07 20:51:54

标签: php html mysql

我正在尝试将值存储在数据库中,但暂时找不到原因。 我在html中创建了表单,使用方法post重定向到php页面。

我只是想写PHP代码,因为HTML很庞大。

//include connection file
include 'connection.php';

//receive posts
$ime=$_POST['naziv'];
$adresa=$_POST['adresa'];
$drzava=$_POST['drzava'];
$grad=$_POST['grad'];
$web=$_POST['web'];
$email=$_POST['email1'];
$tel=$_POST['tel1'];
$fax=$_POST['fax'];
$kategorija1=$_POST['kategorija1'];
$kontakt_osoba=$_POST['kontaktosoba'];
$funkcija=$_POST['funkcija'];
$tel2=$_POST['tel2'];
$mobitel=$_POST['mobitel'];
$email2=$_POST['email2'];
$email3=$_POST['email3'];

$forma_rec=$_POST['forma'];
$forma=implode(", ", $forma_rec);

$kategorija2_rec=$_POST['kategorija2'];
$kategorija2=implode(", ", $kategorija2_rec);
$usluge_ostalo=$_POST['usluge_ostalo'];
$oprema_ostalo=$_POST['oprema_ostalo'];

//checkbox values in HTML
$oprema_rec=$_POST['oprema'];
$oprema=implode(", ", $oprema_rec);

//checkbox values in HTML
$usluge_rec=$_POST['usluge'];
$usluge=implode(", ", $usluge_rec);

//checkbox values in HTML
$proizvodi_rec=$_POST['proizvodi'];
$proizvodi=implode(", ", $proizvodi_rec);

// I have tried this query
$query="INSERT INTO clanovi(NAZIV, ADRESA, DRZAVA, GRAD, EMAIL, WEB, TEL1, FAX, KATEGORIJA, KONTAKT-OSOBA, FUNKCIJA,TEL2, 
MOBITEL, EMAIL2, EMAIL3, FORMA, KATEGORIJA2, OPREMA, OSTALA-OPREMA, USLUGE, OSTALE-USLUGE, PROIZVODI) 
VALUES ($ime,$adresa,$drzava,$grad,$email,$web,$tel,$fax,$kategorija1,$kontakt_osoba,$funkcija,$tel2,$mobitel,$email2,$email3,$forma,$kategorija2,$oprema,$oprema_ostalo,$usluge,$usluge_ostalo,$proizvodi)";

// This didnot work then I tried to divide into 7 queries 


  $query1="INSERT INTO clanovi (NAZIV, ADRESA, DRZAVA, GRAD, EMAIL, WEB, TEL1, FAX, KATEGORIJA, KONTAKT-OSOBA, FUNKCIJA,TEL2, 
MOBITEL, EMAIL2, EMAIL3, FORMA) VALUES ('$ime', '$adresa', '$drzava', '$grad', '$email', '$web', '$tel', '$fax', '$kategorija1', '$kontakt_osoba', '$funkcija', '$tel2', '$mobitel', '$email2', '$email3')";

$query2="INSERT INTO clanovi KATEGORIJA2 VALUES ('$kategorija2')";

$query3="INSERT INTO clanovi OPREMA VALUES ('$oprema')";

$query4="INSERT INTO clanovi OSTALA-OPREMA VALUES ('$oprema_ostalo')";

$query5="INSERT INTO clanovi USLUGE VALUES ('$usluge')";

$query6="INSERT INTO clanovi OSTALE-USLUGE VALUES ('$usluge_ostalo')";

$query7="INSERT INTO clanovi (PROIZVODI) VALUES ($proizvodi)";

mysql_query($query1);
mysql_query($query2);
mysql_query($query3);
mysql_query($query4);
mysql_query($query5);
mysql_query($query6);
mysql_query($query7);

当我为每个查询做回声时,我得到结果,但不知道为什么不在数据库中存储值。 任何帮助,将不胜感激 感谢

3 个答案:

答案 0 :(得分:0)

您只是将查询存储到变量中。您实际上没有插入它们,或者是否缺少一些代码?

mysqli_query($query1);

答案 1 :(得分:0)

首先,看起来你的字符串周围没有引号。 E.g。

VALUES ($ime

应该是:

VALUES ('$ime'

其次,这是代码非常容易受到sql注入攻击。

第三,正如其他人已经指出的那样,如果你没有发布你没有发布的代码,你需要调用SQL。

答案 2 :(得分:0)

$query1="INSERT INTO clanovi (NAZIV, ADRESA, DRZAVA, GRAD, EMAIL, WEB, TEL1, FAX, KATEGORIJA, KONTAKT-OSOBA, FUNKCIJA,TEL2, 
MOBITEL, EMAIL2, EMAIL3, FORMA) VALUES ($ime, $adresa, $drzava, $grad, $email, $web, $tel, $fax, $kategorija1, $kontakt_osoba, $funkcija, $tel2, $mobitel, $email2, $email3)";

试试这个:

$query1="INSERT INTO clanovi (NAZIV, ADRESA, DRZAVA, GRAD, EMAIL, WEB, TEL1, FAX, KATEGORIJA, KONTAKT-OSOBA, FUNKCIJA,TEL2, 
MOBITEL, EMAIL2, EMAIL3, FORMA) VALUES ('$ime', '$adresa', '$drzava', '$grad', '$email', '$web', '$tel', '$fax', '$kategorija1', '$kontakt_osoba', '$funkcija', '$tel2', '$mobitel', '$email2', '$email3')";