2013-05-09 5 views
0

Я пытаюсь сделать очень простую страницу php и иметь какую-то проблему здесь. страница работает и все, но в mysql ничего не приходит. Когда я нажимаю submit, он печатает вставки в значения DrinkHistory (CustomerId, DrinkId, SellerId) («1», «3», «2»). Введенные данные. Но когда я вхожу в phpmyadmin, в таблице DrinkHistory ничего нет.PHP не вставляет в mysql

код ниже

<?php 
// Create connection 
$con=mysqli_connect("localhost","******","*******","test"); 

// Check connection 
if (mysqli_connect_errno($con)) 
    { 
    echo "Mene kotii ku et mitää osaa: " . mysqli_connect_error(); 
    } 

// Insert Data 

@$a=$_POST['CustomerId']; 
@$b=$_POST['DrinkId']; 
@$c=$_POST['SellerId']; 
if(@$_POST['submit']) 
{ 
echo $s="insert into DrinkHistory(CustomerId,DrinkId,SellerId) values('$a','$b','$c')"; 
echo "Your Data Inserted"; 
mysql_query($s); 
} 

?> 


<center> 
<form method="post"> 
<table width="100%" height="245" border="1" bgcolor="#00CCFF"> 
<tr><td width="112" height="26">Asiakas</td> 
<td width="100"><input type="radio" name="CustomerId" value="1"/>Jokirinne Niko</td> 
</tr> 

<tr><td rowspan="2">Juoma</td> 
<form method)="post"> 
<td height="28"><input type="radio" name="DrinkId" value="2"/>Kalja</td> 
<td height="28"><input type="radio" name="DrinkId" value="3"/>Lonkero</td> 
<td height="28"><input type="radio" name="DrinkId" value="4"/>Siideri</td> 
<td height="28"><input type="radio" name="DrinkId" value="5"/>Fisu</td> 
<td height="28"><input type="radio" name="DrinkId" value="6"/>Tequila</td> 
<td height="26"><input type="radio" name="DrinkId" value="7"/>MustikkaShotti</td> 
</tr> 
<td height="33"></tr> 


<tr><td rowspan="3">Myyjä</td> 
<td><input type="radio" name="SellerId" value="1"/>Niko Jokirinne</td> 
<tr> 
<td><input type="radio" name="SellerId" value="2"/>Tanya Lickorish</td> 
<tr> 

<tr><td height="62"><input type="submit" name="submit" value="Juo"/></td></tr> 
</table> 
</form> 
</center> 
</body> 
</html> 
+3

mysqli_connect() + mysql_query() - обработка ошибок = ПРОБЛЕМ ;-) –

+0

добавить mysql_query ($ ы) или умереть (mysql_error()); –

+0

Не видите ничего очевидного, можете ли вы иметь структуру таблицы и результат эха $ s? – We0

ответ

0

Вы, кажется, опускаете строку подключения (используя mysql_query вместо mysqli_query) и проверяете ошибку. Попробуйте это:

<?php 
// Create connection 
$con=mysqli_connect("localhost","******","*******","test"); 

// Check connection 
if (mysqli_connect_errno($con)) 
    { 
    echo "Mene kotii ku et mitää osaa: " . mysqli_connect_error(); 
    } 

// Insert Data 

@$a=$_POST['CustomerId']; 
@$b=$_POST['DrinkId']; 
@$c=$_POST['SellerId']; 
if(@$_POST['submit']) { 
    echo $s = "insert into DrinkHistory(CustomerId,DrinkId,SellerId) values('$a','$b','$c')"; 
    if (mysqli_query($con, $s)) { 
     echo "Your Data Inserted"; 
    } else { 
     echo "Error inserting data: ".mysqli_error(); 
    } 
} 

?> 
+1

вы все еще используете mysql_query с mysqli. Так что ничего хорошего. –

+0

теперь он говорит: «Вставить в значения DrinkHistory (CustomerId, DrinkId, SellerId)» («1», «3», «2») Ошибка ввода данных: « – user2365812

+0

Извините, я забыл изменить имя функции. Я только что отредактировал его, чтобы исправить это. Кстати: этот код на 100% уязвим для SQL-инъекции. Вы всегда должны проверять полученные данные, прежде чем пытаться выполнить запрос с интерполированными переменными, полученными от POST. –

0

У вас есть несколько библиотек баз данных, чтобы выбрать из, но, как только вы решите, что вам нужно придерживаться одного. Вы не можете создать соединение с новым Mysqli расширения:

$con=mysqli_connect("localhost","******","*******","test"); 

... и затем попытаться запросить базу данных с унаследованных устаревшими функциями:

mysql_query($s); 

Если вы не получаете сообщение об ошибке blattant на экране вам, вероятно, не удалось настроить PHP для отображения сообщений об ошибках в вашем окне разработки. Это то, что вам нужно исправить, прежде чем идти дальше; невозможно кодировать без помощи сообщений об ошибках. Вот brief explanation.

Наконец, вы убедитесь, если соединение не удается:

if (mysqli_connect_errno($con)) 

... но вы не проверить, если ваш запрос не удается.

+0

После того, как я написал ini_set ('display_errors', 1); error_reporting (~ 0); в коде сказано: Предупреждение: mysql_query() ожидает, что параметр 1 является строкой, объект указан в /var/www/database.php в строке 29 Предупреждение: mysqli_error() ожидает точно 1 параметр, 0 заданный в/var/www/database. php on line 32 Ошибка ввода данных: – user2365812

+0

Я рад, что мои второй и третий советы вам помогли. Теперь переходите к первому ;-) –

Смежные вопросы