Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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:连接到数据库并插入一行数据_Php_Database - Fatal编程技术网

php:连接到数据库并插入一行数据

php:连接到数据库并插入一行数据,php,database,Php,Database,我只是不知道我在做什么;我做错了。。。我有一个php脚本,应该将值插入到我的数据库中,但每次代码碰到脚本的这一部分时,它都会挂起 我是个新手,我在网上看了教程,但显然我不明白我做错了什么 // Make a MySQL Connection $link = mysql_connect("jdbc:mysql://mysqlx.server.net/MyDB", "MyUserName", "MyPassword"); //connect to my database $link.mysql_s

我只是不知道我在做什么;我做错了。。。我有一个php脚本,应该将值插入到我的数据库中,但每次代码碰到脚本的这一部分时,它都会挂起

我是个新手,我在网上看了教程,但显然我不明白我做错了什么

// Make a MySQL Connection
$link = mysql_connect("jdbc:mysql://mysqlx.server.net/MyDB", "MyUserName", "MyPassword");

//connect to my database
$link.mysql_select_db("TalesDB");

//insert 
$link.mysql_query("INSERT INTO table (ID, name, comment) VALUES(" +
                  $_GET['Key']  + ", '" +
                  $("#leaveComment").find("input").val() + "', '" +
                  $("#leaveComment").find("textarea").val() + "' ) "); 
请注意,我使用了
$(“#leaveComment”).find(“input”).val()
$(“#leaveComment”).find(“textarea”).val()+”)在脚本的前面-它们被验证为文本


请帮忙!你知道我做错了什么吗?

哇,你对你谦逊的PHP程序员期望太高了

您在普通连接资源上混合了
样式的对象访问。还有jQuery

例如,而不是

$link.mysql_select_db("TalesDB");
你应该这样做

mysql_select_db("TalesDB", $link);

请从零开始重新检查所有文档,不要将PHP与任何其他面向对象平台混淆,当然也不要与(主要)客户端平台混淆

我认为,您的问题是您试图通过服务器端的jQuery访问DOM元素。
在服务器端,您有$\u GET和/或$\u POST数组,其中的表单参数从客户端webbrowser传递到您的服务器脚本

当您应该使用php时,您正在使用Javascript

PHP是一种语言,这意味着PHP代码将在HTML发送给您之前执行


Javascript是一种语言,这意味着代码将在页面发送给您后执行。

是的,您已经将JavaScipt和PHP混合在一起了。这两个人肯定可以一起工作,但不是这样:)

使用JQuery或HTML表单将数据发布回服务器端脚本。您可以使用JQuery的ajax或post方法来实现这一点

然后在php脚本中,您可以执行以下操作以插入db记录:

<?php

$con = new PDO('mysql:dbname=test;host=127.0.0.1', 'username', 'password');

$stmt = $con->prepare('INSERT INTO `table` (`id`, `name`, `comment`) 
    VALUES (:id, :name, :comment)');

$stmt->bindParam(:id, $_POST['id']);
$stmt->bindParam(:name, $_POST['name']);
$stmt->bindParam(:comment, $_POST['comment']);

$result = $stmt->execute();

?>

我使用PHPPDO连接并运行查询。我建议在mysql_查询上使用它,因为预先准备好的语句具有安全性优势。有关更多信息,请查看文档页面


需要注意的一点是,美元符号$在JQuery和PHP中用于不同的用途。在JQuery中,它是JQuery对象的简写,允许您轻松地执行元素选择。在PHP中,它用于标识用户声明的变量。

您是否将PHP和javascript混合使用?