php - 如何使用 PHP MySQL 在 AJAX 脚本中获取数据库值

标签 php mysql ajax

下面我提到了 AJAX 脚本,我想在上传时为每张照片附加数据库中的 id。但是当在下面的脚本中使用“var m='_'+x;”时,它没有获得记录的数据库ID(当我打印它时,它显示为空白)。那么如何检索一行的数据库ID并附加到AJAX脚本中?照片被上传并存储在带有ID的提到的文件夹中。但是在当我检查页面源时,它显示该页面。ID 不会在中间加载。

$(function(){
    var btnUpload=$('#me');
    var mestatus=$('#mestatus');
    var files=$('#files');
    new AjaxUpload(btnUpload, {
        action: 'uploadPhoto.php',
        name: 'uploadfile',
        onSubmit: function(file, ext)
        {
             if (! (ext && /^(jpg|png|jpeg|gif)$/.test(ext))){ 
                // extension is not allowed 
                mestatus.text('Only JPG, PNG or GIF files are allowed');
                return false;
            }
            mestatus.html('<img src="ajax-loader.gif" height="16" width="16" align="left">');
        },
        onComplete: function(file, response){
        // alert(response)
            //On completion clear the status
            mestatus.text('');
            //On completion clear the status
            files.html('');
            //Add uploaded file to list
            if(response==="success")
            {
                var x=file;

                  var m='<?=$data44[id]?>_'+x;


                document.getElementById('img_name').value=x;
                $('<li></li>').appendTo('#files').html('<img src="photo/demophoto_'+m+'" alt="" height="110px" width="95px" /><br />').addClass('success');
            } else{
                $('<li></li>').appendTo('#files').text(file).addClass('error');
            }
        }
    });

});

上传照片.php

include_once("db.php");

$sel="select usnno from usn where id='$_SESSION[lgkey]'";

$qry=mysql_query($sel) or die(mysql_error());

$row=mysql_fetch_array($qry);

 $sel44=mysql_query("select * from reg_form where usn='$row[usnno]' ");

                       $data44=mysql_fetch_array($sel44);

$uploaddir = './photo/'; 

$file = $uploaddir ."demophoto_".$data44['id'].'_'.basename($_FILES['uploadfile']['name']);

$file_name= "demophoto_".$data44['id'].'_'.$_FILES['uploadfile']['name']; 



if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file)) { 

  echo "success";

} else {

    echo "error";

}

最佳答案

请更改您的代码:

var m='<?=$data44[id]?>_'+x;

以下内容:

var m='<?=$data44["id"]?>_'+x;

只需在“id”之间添加双引号即可。

关于php - 如何使用 PHP MySQL 在 AJAX 脚本中获取数据库值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24992992/

相关文章:

PHP/MySQL 形式 : escaping, sanitizer ,散列......我什至从哪里开始?

php - 将xml转换为json时出现parsererror

MySQL - 'Using index condition' 与 'Using where; Using index'

php - 为什么我的 ajax 自动保存不起作用?

php - 以基于 1 列的数字顺序显示两列

mysql - 如何在没有管理员权限的情况下使用 PHPMyAdmin 更改 mysql 中的时区

php - 使用 mysql 和 ajax 用 FLOT 绘制图形

javascript - 页面刷新后自动调用Ajax

JavaScript 解析错误

PHP preg_match 直到双换行