我尝试插入锡mysqli时收到了#1064

时间:2018-07-22 11:02:22

标签: php mysql

当我尝试将数据输入数据库时​​出现错误 详细信息:

insert.php 和代码是:

	      <div align ="center" dir="rtl">
  <form dir="rtl"  method="GET" action="update.php">
    <div dir="rtl"class="row">
      <div>
        <label for="fname">  מספר מגמה &nbsp &nbsp &nbsp </label>
    
        <input type="text" id="fname" readonly name="magma_no" value="<?=($row0['magma_no'] +1)?>">
      </div>
    </div>
	<br>
	    <div dir="rtl"class="row">
      <div>
        <label for="fname">  שם מגמה &nbsp &nbsp &nbsp </label>
    
        <input type="text" id="fname" name="mgma_name" placeholder="מספר כאן">
      </div>
    </div>
	<br>
	
	    <div dir="rtl"class="row">
      <div>
        <label for="fname">  הסבר על מגמה  &nbsp &nbsp </label>
    
        <input type="text" id="fname" name="mgma_details" placeholder="מספר כאן">
      </div>
    </div>
	<br>
	<div  id="buttons" class="row">
      <input style="font-family:David" type="submit" class="btn blue"  value="הוספה למאגר" name="insert">
	      </div>
  </form>
</div>	   

和update.php

<?php
include "../include/config.php";
if(isset($_GET['insert'])){
    $query      ="SELECT count(*) as 'counter' FROM magma where         
magma_no='".$_GET['magma_no']."'";
$res  = mysqli_query($con,$query);
$rowing     = $res->fetch_array(MYSQLI_BOTH);
if( $rowing['counter'] == 0)
{
$insert="insert into magma (magma_no,mgma_name,mgma_details) VALUES ('".$_GET['magma_no']."','".$_GET['mgma_name']."','".$_GET['mgma_details']."')";
$query=mysqli_query($con,$insert);
if($query==1)
{
    ?>
           <script>alert('הוספה בהצלחה')</script>     
            <meta content="0;../magma.php?succeed" http-equiv="refresh">


    <?php


}else {
    ?>
                <script>alert('ERROR CODE="<?=mysqli_errno($con)?>"') 
</script>
<?php 
echo "<h1 align='center'>".mysqli_error($con)."</h1>";
?>

            <meta content="5;../magma.php?error" http-equiv="refresh">


    <?php

}
}else
{
?>
<script>alert('ERROR CODE=403')</script>
                                    <script>alert('ERROR MODE= מספר משתמש כבר קיים במערכת')</script>

            <meta content="0;insert.php?error" http-equiv="refresh">


<?php
}

}
?>

当我单击提交时 我收到此错误

  
    

您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以在第1行的'1')'附近使用正确的语法

  

有人可以帮助我传递此错误吗? 我尝试了很多方法

更新1

var_dump($_GET['magma_no'],$_GET['mgma_name'],$_GET['mgma_details']);
  
    

string(3)“ 103”字符串(23)“הנדסתחשמלב'”字符串(1)“ 1”

  

1 个答案:

答案 0 :(得分:0)

$_GET['mgma_name']已经有一个单引号',您正在尝试在单引号中使用一个单引号。您需要将$_GET变量用双引号引起来,如下所示:

$insert='INSERT INTO magma 
(magma_no,mgma_name,mgma_details) 
VALUES 
("'. $_GET['magma_no'] . '","' . $_GET['mgma_name'] . '","' . $_GET['mgma_details'] . '")';

编辑:

根据Magnus的建议,您绝对应该使用准备好的语句。这是fantastic article,涵盖了基本的mysql用法,包括准备好的语句。