я есть вход, чтобы ввести имя класса в базе данных только базы данных tbl_classОбновление запросов не работает в некоторых случаях
db_id db_class db_username db_pass
1 test
2 second test
вторая форма прочитать информацию класса из базы данных, как этот
<?php
$sql=mysqli_query($conn,"select * from tbl_class")or die(mysqli_error($conn));
echo"<table class='ol-md-12 table-bordered table-striped table-condensed cf table-bordered'>";
echo"<thead class='cf'>";
echo"<tr>";
echo"<th style='background:#f7ac01;font-size:13px;vertical-align: middle;text-align:center'rowspan='2' >ID</th>
<th style='background:#f7ac01;font-size:13px;vertical-align: middle;text-align:center'rowspan='2' >Class</th>
<th style='background:#f7ac01;font-size:13px;text-align:center;vertical-align: middle;text-align:center'rowspan='2' >Username</th>
<th style='background:#f7ac01;font-size:13px;text-align:center;vertical-align: middle;text-align:center'rowspan='2' >Password</th>
<th style='background:#f7ac01;font-size:13px;text-align:center;vertical-align: middle;text-align:center'rowspan='2' >Save</th>
<th style='background:#f7ac01;font-size:13px;text-align:center;vertical-align: middle;text-align:center'rowspan='2' >Delete</th>";
echo"</tr></thead><tbody>";
while($row=mysqli_fetch_array($sql)){
$id=$row['db_id'];
$class=$row['db_class'];
$user=$row['db_username'];
$pass=$row['db_pass'];
echo"<tr>";
echo"<form method='post' action='";?><?php $_PHP_SELF ?><?php echo "'>";
echo"<td data-title='Id'>"; echo $id;
echo "<input type='text' name='txt_id' value='$id'>";echo"</td>";
echo"<td data-title='Class'>";
echo "<input type='text' name='class' value='$class'>"; echo"</td>";
echo"<td data-title='Username'>";
echo "<input type='text' name='txt_username' value='$user'>"; echo"</td>";
echo"<td data-title='Password'>";
echo "<input type='text' name='txt_pass' value='$pass'>"; echo"</td>";
echo"<td data-title='Save'>";
echo "<input type='submit' name='saveclass' value='Save' >";echo"</td>";
echo"<td data-title='Delete'>";
echo "<a href='companies.php?d=$id'><img src='../img/delete.png'></a>";
echo"</td></form>";
}
echo"</tr>";
echo"</tbody></table>";
?>
после этого администратор может установить имя пользователя и пароль и сохранить его в базе данных с помощью этого кода
if(isset($_POST['saveclass'])){
$id=$_POST['txt_id'];
$classe=strip_tags(mysqli_real_escape_string($conn,$_POST['class']));
$user=strip_tags(mysqli_real_escape_string($conn,$_POST['txt_username']));
$pass=strip_tags(mysqli_real_escape_string($conn,$_POST['txt_pass']));
$query=mysqli_query($conn,"select db_username from tbl_class where db_username='$user' AND db_username <>''")or die(mysqli_error($conn));
$count=mysqli_num_rows($query);echo $count;echo $id;echo $classe;
if($count==0){
$sql=mysqli_query($conn,"update tbl_class set db_class='$classe',db_username='$user',db_pass='$pass' where db_id='$id'")or die(mysqli_error($conn));
header("location:companies.php?msg=2");
}else{echo"This username exist please choose another one.";}
}
проблемы, он дает мне сообщение, что информация обновить, но когда я смотрю в базу данных а не увидеть Обновы
может показать нам вашу структуру таблицы базы данных? –
@ImranQamer, пожалуйста, проверьте выше мое редактирование –
** ПРЕДУПРЕЖДЕНИЕ **: При использовании 'mysqli' вы должны использовать [параметризованные запросы] (http://php.net/manual/en/mysqli.quickstart.prepared-statements.php) и ['bind_param'] (http://php.net/manual/en/mysqli-stmt.bind-param.php), чтобы добавить данные пользователя в ваш запрос. ** НЕ ПРИНИМАЙТЕ ** использовать ручное экранирование и интерполяцию строк или конкатенацию, чтобы выполнить это, потому что вы создадите серьезные [SQL-инъекции ошибок] (http://bobby-tables.com/), если вы когда-нибудь забудете что-то избежать. – tadman