Данные вставлены, но не отображаются в базе данных mysql. Пожалуйста, есть решение
";print_r($_REQUEST);exit; $sliderName = $_REQUEST['sliderName']; //echo "<pre>";print_r($_REQUEST); $sliderDesc = $_REQUEST['sliderDesc']; //echo "<pre>";print_r($_REQUEST); $sliderPhoto = $_FILES['sliderPhoto']['name']; $path = 'images/'.$sliderPhoto; move_uploaded_file($_FILES['sliderPhoto']['tmp_name'], $path); //echo "<pre>";print_r($_REQUEST); $date = date('Y-m-d h:i:s'); //echo $date; $insert = "INSERT INTO tbl_slider(fld_sliderName, fld_slider_Description, fld_added_Date) VALUES('$sliderName', '$sliderDesc', '$date')"; mysql_query($insert); //echo $insert; } ?> <div id="page-wrapper"> <div class="row"> <div class="col-lg-12"> <h3>Add Slider</h3> </div> </div><!-- /.row --> <div class="row"> <div class="col-lg-6"> <div class="alert alert-dismissable alert-danger" id="emsdiv" style="display:none;"> <button type="button" class="close" data-dismiss="alert">×</button> Oh snap! <span id="emspan"></span> </div> <div class="alert alert-dismissable alert-success" id="smsdiv" style="display:none;"> <button type="button" class="close" data-dismiss="alert">×</button> Well done!<span id="emspan"></span> </div> <form name="frm" method="post" action="" onSubmit="return validate();" enctype="multipart/form-data"> <input type="hidden" name="add" value="image"> <div style="clear:both;"></div> <div class="form-group"> <label style=" float:left; width:200px;padding-top:4px;">Product Name:</label> <input type="text" name="sliderName" id="sliderName" value="" style="width:248px;"/> </div> <div class="form-group"> <label style=" float:left; width:200px;padding-top:4px;">Product description:</label> <textarea rows="3" cols="34" name="sliderDesc" id="sliderDesc" ></textarea> </div> <div class="form-group"> <label style=" float:left; width:200px;padding-top:4px;">Product Photo:</label> <input type="file" name="sliderPhoto" id="sliderPhoto" value="" /> </div> <div style="clear:both; height:15px;"></div> <div class="form-group"> <label style=" float:left; width:200px; padding-top:4px;"></label> <input type="submit" class="btn btn-default" name="submit" value="Save"/> <a href="list-gallery.php"><input type="button" class="btn btn-default" value="Cancel"/></a> </div> <div style="clear:both;"></div> </form> </div> </div><!-- /.row --> </div>
Что я уже пробовал:
данные вставлены, но не отображаются в базе данных mysql. пожалуйста, есть решение
DerekT-P
Ваши утверждения являются взаимоисключающими: "данные вставлены" и "не отображаются в базе данных". Это не может быть правдой одновременно. Итак, изучите каждый из них по очереди: была ли вставка действительно успешной? - Откуда ты знаешь? Затем: почему я думаю, что данные не находятся в d/b сейчас?
Is the insert part of a transaction? One cause of the behaviour you describe is that the insert is "successful" but the transaction is then rolled back, so the new data isn't in the d/b. Depending on your settings you may have transactions turned on by default and if you don't commit, your insert gets un-inserted when the transaction times out. Try hard-coding the insert statement and running again to check whether it's that, or some data-related or other issue. Are you certain you're looking at the right database? (If you have multiple databases it's easy enough to get connection strings muddled up so you're inserting into one database then checking another!). Is your query of the database correct for checking the insertion? Are you selecting all data, or just using a d/b tool to view the data; these often limit results to the first 200 or 500 rows, so maybe your data is there but not returned in the default "data table" view. Is there an auto-increment field defined on the table; if so, are there gaps in the numbering? (This may also point to a transaction having been rolled back). Finally, you're doing the INSERT all wrong - this is wide open to SQL Injection attacks. Never just "inline" data to be inserted or updated, especially if that data has come in via a web request. Your code above will break if the data ever contains a single quote. (Break, if you're lucky - or allow someone to gain full access to all your data, if not!)
Richard Deeming
Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
PHP: SQL-инъекция - руководство пользователя[^]
CHill60
Если он "не отображается" в базе данных, значит, он не был вставлен! Что заставляет вас думать, что он был успешным?
Richard MacCutchan
Вполне возможно, что ваш оператор INSERT не смог сделать то, что вы хотели. К сожалению, вы не потрудились проверить, удалось ли это или нет, так что вы никогда не узнаете.
ZurdoDev
Либо вы получаете ошибку, код не выполняется, вы указываете на неправильную базу данных, или он действительно входит в базу данных. Тебе придется немного покопаться.
Herman<T>.Instance
Никаких ошибок, вы сами напрашиваетесь на это