Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在php文件中的SQL查询中使用下拉列表的选定选项值?_Javascript_Php_Jquery_Html_Mysql - Fatal编程技术网

Javascript 如何在php文件中的SQL查询中使用下拉列表的选定选项值?

Javascript 如何在php文件中的SQL查询中使用下拉列表的选定选项值?,javascript,php,jquery,html,mysql,Javascript,Php,Jquery,Html,Mysql,我创建了一个有下拉列表和上传文件的表单。下拉列表值是从数据库填充的。此表单的操作文件是add.php文件,它更新数据库并将文件上载到数据库中。我想从用户从下拉列表中选择的选项更新数据库,下拉列表中有一个选择名称“to_user”,对于数据库中的该行,将根据所选选项值上载文件。我在add.php文件中使用此SQL查询: mysql_query(" UPDATE TABLE2 SET COL6=('$filename') WHERE COL1=$_POST['to_user'] "); 我犯了一

我创建了一个有下拉列表和上传文件的表单。下拉列表值是从数据库填充的。此表单的操作文件是add.php文件,它更新数据库并将文件上载到数据库中。我想从用户从下拉列表中选择的选项更新数据库,下拉列表中有一个选择名称“to_user”,对于数据库中的该行,将根据所选选项值上载文件。我在add.php文件中使用此SQL查询:

 mysql_query(" UPDATE TABLE2 SET COL6=('$filename') WHERE COL1=$_POST['to_user'] ");
我犯了一个错误。我该怎么办? 错误: 分析错误:语法错误,第21行的/Applications/XAMPP/xamppfiles/htdocs/add.php中出现意外的“”(T_压缩的_和_空格),需要标识符(T_字符串)或变量(T_变量)或数字(T_NUM_字符串)

index.php

<!DOCTYPE html>
<html>
<head>
<title>Sch </title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1”>
<link rel="stylesheet" href="https://www.w3schools.com/tags/tag_select.asp">
<link rel = "stylesheet" href="custom.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>

<style>


div.container {
    margin: 20px 0 20px 0;
    padding: 20px;
} 
div.space {
    margin: 2px 0 2px 0;
    padding: 1px;
} 
div.space1 {
    margin: 2px 0 2px 0;
    padding: 1px;
} 
div.space2 {
    margin: 2px 0 2px 0;
    padding: 2px;
} 

div.space3 {
    margin: 2px 0 2px 0;
    padding: 2px;
} 

div.space4 {
    margin: 2px 0 2px 0;
    padding: 2px;
} 

div.space5 {
    margin: 10px 0 15px 0;
    padding: 2px;
} 


</style>
</head>
<body>


<div class="container">
<h2>Select the Radioactive source and upload the documents:</h2>
</div>


<form enctype="multipart/form-data" action="add.php" method="POST">  

<div class="space">
<?php include('d2.php') ?>

<select name="to_user" class="form-control">
<option value="pick">Radioactive source</option>
<?php
$sql = mysqli_query($con, "SELECT DISTINCT COL1 FROM TABLE2");
$row = mysqli_num_rows($sql);
while ($row = mysqli_fetch_array($sql))
{
echo "<option value='". $row['COL1'] ."'>" .$row['COL1'] ."</option>" ;
}
?>
</select>
</div>

<div class="space1">
<p>
Upload NOC file :<br>
<input type="file" name="datafile1" size="40">
</p> </div>

<div class="space2">
<p>
Upload LT file :<br>
<input type="file" name="datafile2" size="40">
</p> </div>


<div class="space3">
<p>
Upload Import Noc file :<br>
<input type="file" name="datafile3" size="40">
</p> </div>

<div class="space4">
<p>
Upload Photo Inventory file :<br>
<input type="file" name="datafile4" size="40">
</p>
</div>

<div class="space5">
<input type="submit" value=Submit
</div>
</form>

<div class="background">
<div class="transbox">

</body>
<footer>done </footer> </html>

学校
尝试:

PHP给出了在字符串中包含数组的问题,就像添加$filename一样

根据变量类型,您可能必须向查询中添加引号:

mysql_query(" UPDATE TABLE2 SET COL6=('$filename') WHERE COL1='" . $_POST['to_user'] . "' ")

为什么在$filename上使用圆括号?我有两个建议:第一,使用mysqli,mysql已被弃用。第二:使用mysql_error()函数检查错误原因,请在问题中显示所有相关代码。。。。并具体说明错误是什么。图像中的代码无法复制,需要我们打开2个附加源来阅读问题本身应该提供的内容。请告诉我这只是一个测试或个人项目。因为该代码对sql注入是开放的。请不要将该代码放在服务器上。首先阅读有关sql安全性的内容。我认为您遇到问题的原因是您添加to_用户变量的方式。而是像这样正确地转义:
“$\u POST['to\u user']
,但是,在继续您的项目之前,请仔细阅读有关sql注入的内容。@SakuraKinomoto当我使用sql查询mysql\u查询(“更新表2 SET COL6=('$file1'))时,它会起作用。但它会更新数据库中的所有第6列。我希望它只在下拉列表的选定选项值中对第6列中的那一行进行更新。@Chris它是用于个人项目的。我使用了mysql\u查询(“更新表2 SET COL6=(“$file1”),其中COL1=。$\u POST['to\u user']),或者die('Error,query failed'),仍然会出现错误。
mysql_query(" UPDATE TABLE2 SET COL6=('$filename') WHERE COL1=" . $_POST['to_user'] . " ")
mysql_query(" UPDATE TABLE2 SET COL6=('$filename') WHERE COL1='" . $_POST['to_user'] . "' ")