Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.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
PHP Javascript Mysql插入_Javascript_Php_Html_Mysql - Fatal编程技术网

PHP Javascript Mysql插入

PHP Javascript Mysql插入,javascript,php,html,mysql,Javascript,Php,Html,Mysql,我正在尝试使用java脚本提示符将值插入MySQL。我有一个html文件和一个php文件 保存为Test.html的html文件: <button onclick="myFunction()">Create Project</button> <script> function myFunction() { var project = prompt("Please enter project name"); if (project

我正在尝试使用java脚本提示符将值插入MySQL。我有一个html文件和一个php文件

保存为
Test.html
的html文件:

 <button onclick="myFunction()">Create Project</button>

<script>
  function myFunction() {
      var project = prompt("Please enter project name");
      if (project != null && project !="") {
          $.post("conn.php", { project : project });
      }
  }
  </script>
如果我删除post参数,conn.php可以完美地工作并插入值

例如,与此相反:

$proj = $_POST['project'];
$sql = "INSERT INTO projects (project_name) VALUES ('$proj')";
如果我使用:

$proj = "NewProject";
$sql = "INSERT INTO projects (project_name) VALUES ('$proj')";
NewProject
被插入数据库


我不确定我的index.html中是否缺少某些内容,这些内容没有在提示到php脚本中发布值。我试过
echo$_POST['project']而不是插入MySQL。回显丢失。

我已经运行了您给定的代码,它只运行了我在脚本代码上方添加的jquery链接

请检查此更正

<button onclick="myFunction()">Create Project</button>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
  function myFunction() {
      var project = prompt("Please enter project name");
      if (project != null && project !="") {
          $.post("conn.php", { project : project },function(response){
             console.log(response);
         });
      }
  }
  </script>
创建项目
函数myFunction(){
var project=提示(“请输入项目名称”);
如果(project!=null&&project!=“”){
$.post(“conn.php”,{project:project},函数(响应){
控制台日志(响应);
});
}
}
我还在conn.php文件中添加了带有$_POST参数的函数

<?php
$servername = "localhost";
$username = "root";
$password = "Password";
$dbname = "db1";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$proj = isset($_POST['project'])?$_POST['project']:'';
$sql = "INSERT INTO projects (project_name) VALUES ('$proj')";


if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?> 

如果
如果(!isset($\u POST['project'])
,您已经有问题了<代码>$conn->查询($sql)!=正确
。您在
$\u POST['project']
@NitinKawane中没有获得价值Yes@PHPglue是否必须将insert语句包装在
if中(!isset
非常感谢…它确实起作用了…我确实让脚本指向jquery.min.js…但是,isset方法发挥了我猜的神奇作用。再次感谢你。我会接受你的回答。答案非常糟糕,没有向OP说明他的错误。此外,“isset”不是“方法”jquery应该添加到页面的标题部分。总体来说,答案很差。
<?php
$servername = "localhost";
$username = "root";
$password = "Password";
$dbname = "db1";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$proj = isset($_POST['project'])?$_POST['project']:'';
$sql = "INSERT INTO projects (project_name) VALUES ('$proj')";


if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>