2013-10-14 4 views
-1

Я хочу обновить int. в моей базе данных MySQL с php. Инт. происходит от некоторого Javascript. Вот мой код, где я получаю int .:Как обновить базу данных mysql

<form action="SCD.php" method="POST"> 
<span name="Int_1" id="Int_`1">0</span><br> 
<button type="button" onclick="UpdateData()">Update</button> 
Name: <input type="Text" name="Name"></input> 
<input type="submit" name="submit" value="Send Data"> 
</form> 

javascript pasts int. в элементе span, когда вы нажимаете кнопку «Обновить». Это работает отлично.

Теперь я хочу обновить это в базе данных. Вот мой код:

<?php 

$Int_1= $_POST['Int_1']; 
$Name = $_POST['Name']; 

if($Name) { 
include_once("Includes/Database_conx.php"); 

$query_name = mysql_query("SELECT * FROM Users WHERE Username='$Name'") 
or die(mysql_error()); 
$numrows = mysql_num_rows($query_name); 

if($numrows != 0) { 
    //User exists 
    $query_int("UPDATE Users SET Int='$Int_1' WHERE Username='$Name'") 
    or die(mysql_error()); 
    echo "Data updated"; 
} else { 
    echo "THat user does not exist"; 
} 
} else { 
echo "Please fill in a name"; 
} 

?> 

Я получаю сообщение об ошибке в строке 15 в документе php. Строка 15:

$query_int("UPDATE Users SET Int='$Int_1' WHERE Username='$Name'") 

что с этим связано? (Извините, если я пропустил что-нибудь, это мой первый вопрос о переполнении стека)

+0

Это может помочь вам увидеть код подключения (просто вычеркните пользователя/пароль/etc), но я также должен упомянуть, что вы не проверяете/не очищаете POST-входы и не используете устаревшая библиотека db ('mysql_ *' устарела - вы должны использовать MySQLi или PDO) – SmokeyPHP

+2

где функция $ query_int в вашем коде. Если такая функция не существует, чем писать 'mysql_query (« UPDATE Users SET Int = ». $ Int_1.« WHERE Username = '». $ Name."' ")' –

ответ

2

$query_int - это неопределенное переменное, а не имя функции, поэтому вы можете использовать его так. Вы, вероятно, хотели использовать здесь mysql_query(), но это тоже не хорошо. Используйте PDO.

0
<span name="Int_1" id="Int_1">0</span> 

не может быть отправлен на сервер.

вы можете попробовать элемент ввода вместо этого.

+0

Какой элемент я должен использовать вместо этого. Я хочу, чтобы число в элементе можно было изменить с помощью Javascript. Можете ли вы написать пример, если это возможно? – Dacaspex

0

INT является зарезервированным словом в MySQL, поэтому вы должны использовать обратные ссылки, если у вас есть столбец с таким именем. Ваш запрос на сервер должен быть

UPDATE Users SET `Int`='$Int_1' WHERE Username='$Name' 
Смежные вопросы