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

时间:2010-11-18 08:55:29

标签: php database

我只是不知道我在做什么;我做错了...我有一个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() + "' ) "); - 并且它们已经过验证

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

4 个答案:

答案 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)

哇,你对那些不起眼的PHP解释者抱有太多期望。

您在普通连接资源上混合. - 样式对象访问。还有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传递到你的服务器脚本