首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择和更新不工作- MySQL

选择和更新不工作- MySQL
EN

Stack Overflow用户
提问于 2010-07-17 14:41:19
回答 3查看 787关注 0票数 0

在将照片上传到服务器后,我希望将其保存在MySQL中的用户数据库中,但由于某种原因,它无法工作。下面是uploader.php:的代码

代码语言:javascript
复制
session_start();
if(!$_SESSION['userid']) {
  header("Location: index.php"); 
  exit;
}


$con = mysql_connect("host","db","pw");
if (!$con)
  {
  die('Could not connect: ' .mysql_error());
  }

mysql_select_db("db", $con);

$sess_userid = mysql_real_escape_string($_SESSION['userid']);
$query  = "SELECT * FROM Members  WHERE fldID='$sess_userid' UPDATE Members SET PortraitPath = 'profileportraits/' . '$_FILES[file][name]'");  
$result = mysql_query($query) or trigger_error(mysql_error().$query);
$row = mysql_fetch_assoc($result);

我肯定我的查询有很大问题,但我不知道它是什么。照片肯定会保存到文件夹中。但我只是想在用户数据库中更新它的路径,以便以后使用。谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-17 15:17:22

正如前面提到的,您不能同时使用这两个查询。

但是也有一些奇怪的语法:您试图在mysql查询中使用PHP的级联操作符。

而且你没有转义字符串参数--非常糟糕!

所以,看起来你需要一些

代码语言:javascript
复制
$sess_userid = mysql_real_escape_string($_SESSION['userid']);
$PortraitPath = mysql_real_escape_string('profileportraits/' . $_FILES['file']['name']);
$query  = "UPDATE Members SET PortraitPath = '$PortraitPath' WHERE fldID='$sess_userid'";  
票数 2
EN

Stack Overflow用户

发布于 2010-07-17 14:43:21

您可以执行两个单独的查询:

代码语言:javascript
复制
UPDATE Members SET PortraitPath = 'profileportraits/' . '$_FILES[file][name]'
 WHERE fldID='$sess_userid';

和:

代码语言:javascript
复制
SELECT * FROM Members  WHERE fldID='$sess_userid'
票数 2
EN

Stack Overflow用户

发布于 2010-07-17 14:55:11

您似乎试图将两个查询(SELECT和UPDATE)放入一个查询中,这将导致无效的查询错误。

只是想知道为什么您需要两个查询,因为您已经知道了userid,并且只需要更新。您所需要的只是更新文件路径

代码语言:javascript
复制
UPDATE Members SET PortraitPath = 'profileportraits/' . '$_FILES[file][name]' WHERE fldID='$sess_userid';
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3271920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档