gpt4 book ai didi

php - mysql php - 数据没有完全进入数据库

转载 作者:行者123 更新时间:2023-11-29 05:19:18 25 4
gpt4 key购买 nike

我目前正在构建一个网站,其中包含一个可通过 php 和 mysql 访问的图库。当您在网站上查看时,图库会从 mysql 中获取代码,并从我的文件夹(在机器上)中获取图像。

我遇到一个问题,当我上传图像(使用 php)时,image_pathname 出现了,image_description(使用 image_gallery 数据库)也出现了,但作者没有 - 而是出现了一个数字。

我认为这可能是我可以轻松解决的问题,但我已经在该网站上工作了一段时间,而且我的大脑被炸了 - 并假设这是不可能的。

这是我的表格语法:

CREATE TABLE images(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
image_pathname VARCHAR( 50 ) ,
image_author VARCHAR( 50 ) ,
image_description VARCHAR( 50 ) ,
genreID VARCHAR( 100 )
)

这是我的 HTML:

<form method="post" action="upload_file.php" enctype="multipart/form-data">

<p>
Image Author:
</p>
<input type="text" name="image_author"/>

<p>
Please enter a decscription:
</p>
<input type="text" name="image_description"/>
<p>
Please upload an image.
</p>
<p>
Photo:
</p>
<input type="hidden" name="size" value="350000">
<input type="file" name="photo">


<input TYPE="submit" name="upload" title="Add image/data to the Database" value="Add Image"/>
</form>

这是我的 php:

<?php

//This is the directory where images will be saved
$target = "images/";
$target = $target . basename( $_FILES['photo']['name']);

//This gets all the other information from the form
$name= (isset($_POST['image_author']));
$description= ($_POST['image_description']);
$pic=($_FILES['photo']['name']);


// Connects to your Database
mysql_connect("localhost", "root", "root") or die(mysql_error()) ;
mysql_select_db("image_gallery") or die(mysql_error()) ;

//Writes the information to the database
mysql_query("INSERT INTO images (image_author, image_description, image_pathname)
VALUES ('$name', '$description', '$pic')") ;

//Writes the photo to the server
if(move_uploaded_file($_FILES['photo']['tmp_name'], $target))
{

//Tells you if its all ok
echo "The file has been uploaded, and your information has been added to the directory <p> <a href='upload.php'> Go back</a>";
}
else {

//Gives and error if its not
echo "Sorry, there was a problem uploading your file.";
}
?>

最佳答案

在将值分配给变量时,您错误地调用了 isset()。结果是您得到一个 bool 值,这是 isset() 返回的)而不是 $_POST['image_author'] 的实际值。

 $name= (isset($_POST['image_author']));

应该是

$name= $_POST['image_author'];

仅供引用,您对 SQL injections 持开放态度并使用 obsolete API .

关于php - mysql php - 数据没有完全进入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28047599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com