所以我有一个问题,我几天都在绞尽脑汁。我们有一个项目,我们正在建立一个互联网商店,我到了我需要将产品放在数据库中的部分。我们需要通过管理员放置一些由表单输入的字段,并且插入的图片需要移动到商店文件夹,其名称应该与products表中的产品ID相对应。在数据库中应该是图片网址,以便我们可以将其链接到商店页面。
我在这里遇到了重大问题,因为我无法访问数据库并复制要添加到图像的产品ID。我的表也没有输出任何内容,但我责怪我的旧计算机上的坏wamp设置,因为新的计算机正在修复。
<?php
session_start();
if (isset($_POST['unos'])){
$veza=new mysqli("localhost","G03","sifra","internetprodavnica");
mysqli_set_charset($veza,"utf8");
$naziv=$_POST['ime'];
$kratakopis=$_POST['kratakopis'];
$dugiopis=$_POST['dugiopis'];
$cena=$_POST['cena'];
$kategorija=$_POST['kategorija'];
$Id=mysqli_query("SELECT IDProizvoda FROM products ORDER BY IDProizvoda DESC LIMIT 1");
if ($_FILES['slika']['type'] = 'image/jpg'){ $type=".jpg"; }
if ($_FILES['slika']['type'] = 'image/jpeg'){ $type=".jpeg"; }
$path= "slike/".$Id.$type;
if (isset($_FILES['slika'])) {
if(is_uploaded_file($_FILES['slika']['tmp_name'])) {
$rezultat=move_uploaded_file($_FILES['slika']['tmp_name'], $path); }}
$upit="INSERT INTO internetprodavnica.proizvodi(ime,kratakopis,dugiopis,cena,kategorija,slika) VALUES ('$naziv','$kratakopis','$dugiopis','$cena','$kategorija','$path')";
$rez=$veza->query($upit); }
?>
对不起,如果它的外语,我不会翻译所有变量名称会对你理解我的代码产生影响。
可变路径是图像网址名称。文件夹slike(意思是图像)和添加的id和扩展类型。我想检查类型,但显然它只是将类型更改为最后一个问题的类型,它并不特别打扰我,我仍然要么用空白名称复制图像或输出错误。无论如何都存在错误,但图像通常无论如何都会复制。
如果我删除了mysqli_query
图片名称
SELECT IDProizvoda FROM proizvodi ORDER BY IDProizvoda DESC LIMIT 1
我认为问题在于行
$Id=mysqli_query("SELECT IDProizvoda FROM products ORDER BY IDProizvoda DESC LIMIT 1");
非常感谢帮助,因为无论何时尝试它都无效。
答案 0 :(得分:0)
您需要先建立连接:
$Id=mysqli_query($veza, "SELECT IDProizvoda FROM products ORDER BY IDProizvoda DESC LIMIT 1");
或者您可以使用以下内容作为对象进行访问:
$Id=$veza->query("SELECT IDProizvoda FROM products ORDER BY IDProizvoda DESC LIMIT 1");
http://php.net/manual/en/mysqli.query.php
在您的情况下,您需要获取数据以使用enxt:
$query=$veza->query("SELECT IDProizvoda FROM products ORDER BY IDProizvoda DESC LIMIT 1");
$ID=$query->fetch_object()->IDProizvoda;