php - 代码不打印数据库中的值

标签 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);

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

最佳答案

首先,看起来您的字符串周围没有引号。例如

VALUES ($ime

应该是:

VALUES ('$ime'

其次,这段代码非常容易受到sql注入(inject)攻击。

第三,正如其他人已经指出的那样,如果您不在未发布的代码中,则需要调用 SQL。

关于php - 代码不打印数据库中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23528183/

相关文章:

javascript - 通过 Ajax 插件加载 Wordpress 编辑器

javascript - 鼠标悬停在 margin-left 过渡后不起作用

html - 如何将报告导出到一个 html 文件?

c# - 无法从 DoWork() 内部从 MySQL 数据库获取信息

php - 两个或多个数组之间的计算

php - jQuery 自动完成菜单正在阻塞服务器

javascript - JQuery 自动完成链接

javascript - 如何在kendo-ui中默认显示占位符

php - COUNT = 0 的 Doctrine2 DQL 问题

javascript - 当尝试将上传文件的路径插入 MySQL 时,会创建重复文件