我只是不知道我在做什么;我做错了...我有一个PHP脚本应该将值插入我的数据库中,但每次代码都会触及脚本的这部分时它会挂起...... < / p>
我是新手,我在线看了教程,但显然我不明白我做错了什么..
// 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() + "' ) ");
- 并且它们已经过验证
请帮忙!知道我做错了吗?
答案 0 :(得分:3)
是的,您已将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();
?>
我使用PHP PDO连接并运行查询。我建议在mysql_query上使用它,因为预准备语句的安全性好处。有关更多信息,请查看PDO文档页面。
需要注意的一点是,美元符号$在JQuery和PHP中用于不同的目的。在JQuery中,它是JQuery对象的简写,允许您轻松执行元素选择。在PHP中,它用于标识用户声明的变量。
答案 1 :(得分:2)
您在普通连接资源上混合.
- 样式对象访问。还有jQuery。
例如,而不是
$link.mysql_select_db("TalesDB");
你应该做
mysql_select_db("TalesDB", $link);
请从零开始重新检查所有文档,不要将PHP与任何其他面向对象的平台混淆,当然也不要与(主要)客户端平台混淆!
答案 2 :(得分:2)
当你应该使用php时,你正在使用Javascript。
PHP是一种server-side语言,这意味着PHP代码将在HTML发送给您之前执行。
Javascript是一种client-side语言,这意味着代码将在页面发送给您后执行。
答案 3 :(得分:0)
我认为,您的问题是您正试图通过服务器端的jQuery访问DOM元素。 在服务器端,你有$ _GET和/或$ _POST数组,表单参数从客户端webbrowser传递到你的服务器脚本