1

セッション変数からユーザーのuser_idを使用して、アップロードされた画像をmysqlに挿入しようとしています。オンラインチュートリアルを見つけて、次のように変更しました。

<?php
require_once('../Login/includes/session_timeout_db.inc.php');
$dbuser="";
  $dbname="";
  $dbpass="";
  $dbserver="";

  $con = mysql_connect($dbserver,$dbuser,$dbpass);
  if (!$con){ die('Could not connect: ' . mysql_error()); }
  mysql_select_db($dbname, $con);

  // Make sure the user actually
    // selected and uploaded a file
    if (isset($_FILES['image']) && $_FILES['image']['size'] > 0) {

    // Temporary file name stored on the server
    $tmpName = $_FILES['image']['tmp_name'];

    // Read the file
    $fp = fopen($tmpName, 'r');
    $data = fread($fp, filesize($tmpName));
    $data = addslashes($data);
    fclose($fp);


    // Create the query and insert
    // into our database.
    $query = "INSERT INTO images, owner_id";
    $query .= "(image) VALUES ('$data', '.$_SESSION['id'].')";
    $results = mysql_query($query, $link);

// Print results
print "Thank you, your file has been uploaded.";

}
else {
print "No image selected/uploaded";
}

// Close our MySQL Link
mysql_close($link);
?> 

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”&gt;
<html xmlns=”http://www.w3.org/1999/xhtml”&gt;
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8” />
<title>Manage Tasks</title>
<link rel="stylesheet" type="text/css" href="../allcss/style.css" />
</head>

<body>

<?php
require('../Login/includes/header.inc.php');
?>

<div id="content">
<form enctype="multipart/form-data" action="" method="post" name="changer">
<input name="MAX_FILE_SIZE" value="102400" type="hidden">
<input name="image" accept="image/jpeg" type="file">
<input value="Submit" type="submit">
</form>
</div>

</body>
</html>

クエリの2行目にエラーが発生しています。

$query = "INSERT INTO images, owner_id";
$query .= "(image) VALUES ('$data', '.$_SESSION['id'].')";
$results = mysql_query($query, $link);

*エラーは解析エラーです:構文エラー、予期しないT_ENCAPSED_AND_WHITESPACE、28行目にT_STRINGまたはT_VARIABLEまたはT_NUM_STRINGが必要です*

誰か助けてもらえますか?

よろしくお願いします

4

2 に答える 2

3

フィールドはBLOBimagesタイプである必要があります。ただし、これは行わないでください。ファイルをファイルシステムに保存し、ディレクトリパスをデータベースのイメージに保存してください。

于 2013-03-24T14:04:24.763 に答える
1

変化する :

"(image) VALUES ('$data', '.$_SESSION['id'].')";

の中へ :

"(image) VALUES ('$data', '".$_SESSION['id']."')";
于 2015-08-20T19:17:52.957 に答える