php: подключение к базе данных и вставка строки данных - PullRequest
0 голосов
/ 18 ноября 2010

Я просто не знаю, что делаю неправильно ... У меня есть скрипт php, который должен вставлять значения в мою базу данных, но каждый раз, когда код попадает в эту часть скрипта, он зависает ... 1001 *

Я новичок, я смотрел онлайн-уроки, но явно не понимаю, что я делаю неправильно ..

// 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 ]

3 голосов
/ 18 ноября 2010

Да, вы смешали JavaScipt и PHP вместе. Они могут определенно работать вместе, но не так:)

Используйте JQuery или просто HTML-формы для отправки данных обратно на серверный скрипт. Для этого вы можете использовать ajax или post методы JQuery.

Затем в вашем PHP-скрипте вы можете сделать что-то вроде этого, чтобы вставить запись в БД:

<?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 он используется для идентификации объявленных пользователем переменных.

2 голосов
/ 18 ноября 2010

Вы используете Javascript, когда вы должны использовать php.

PHP является серверным языком , что означает, что код php будет выполнен перед отправкой вам HTML.

Javascript - это клиент-side language, что означает, что код будет выполнен после отправки вам страницы.

2 голосов
/ 18 ноября 2010

Вау, вы ожидаете слишком многого от вашего скромного PHP-интерпретатора.

Вы смешиваете доступ к объекту в стиле . на простом ресурсе соединения.И jQuery тоже.

Например, вместо

$link.mysql_select_db("TalesDB");

вы должны сделать

mysql_select_db("TalesDB", $link);

Пожалуйста, перепроверьте всю документацию с нуля, не путайте PHP с любымдругая объектно-ориентированная платформа, и уж точно не с (в первую очередь) клиентской!

0 голосов
/ 18 ноября 2010

Я думаю, ваша проблема в том, что вы пытаетесь получить доступ к элементам DOM через jQuery на стороне сервера. на стороне сервера у вас есть массивы $ _GET и / или $ _POST с параметрами формы, передаваемыми из клиентского веб-браузера в ваш серверный скрипт

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...