猿问

HTML提交表单时,只有有中文,都不能正常添加进数据库,纯数字可以,在mysql窗口中手动添加又可以添加有中文的信息.


https://img3.mukewang.com/5c8f61e20001fd3408000098.jpg

<?php
    header("Content-type:text/html;charset=utf-8");
     
    $stuId=$_POST['stuId'];
    $stuName=$_POST['stuName'];
    $stuChinese=$_POST['stuChinese']; 
    $stuMath=$_POST['stuMath'];
    $stuEnglish=$_POST['stuEnglish']; 
    echo $stuName;
    $con=mysql_connect('localhost','root','');
    echo $con ? '数据库连接成功' : '数据库连接失败'; 
    
    /*
    if(!$con){
        echo '连接失败';
        exit;
    }else{
        echo '连接成功';
    }*/
    mysql_select_db('db_student');    
    $sql = "INSERT INTO table_student VALUES($stuId,$stuName,'$stuChinese','$stuMath','$stuEnglish')";
    //$sql = "INSERT INTO table_student(id,name,chinese,math,english)" . "VALUES($stuId,$stuName,$stuChinese,$stuMath,$stuEnglish)";   
   // $sql="insert into moneytb (riqi,item,inout,cost,bz) ". "values '$riqi','$item','$inout','$cost','$bz')";
    $is_ok = mysql_query($sql);
    if($is_ok == true){
        echo '添加成功';
         
    }else{
         
        echo '添加失败'; 
    }
    echo $sql;
?>
<HTML> 
<HEAD> 
<TITLE>添加学生成绩界面</TITLE> 
<meta charset="utf-8">
 
</HEAD> 
<BODY> 
<h1>添加学生界面</h1>
    <script type="text/javascript"></script>
    <form action="http://localhost/mysql/insertStudent.php" method="post">
        学生编号<input type="text" name="stuId"><br>
        学生姓名<input type="text" name="stuName"><br>
        语文成绩<input type="text" name="stuChinese"><br>
        数学成绩<input type="text" name="stuMath"><br>
        英语成绩<input type="text" name="stuEnglish"><br>
        <input type="submit" value="添加成绩">
    </form>
</BODY> 
</HTML>
神不在的星期二
浏览 557回答 4
4回答

慕莱坞森

有可能是编码问题,跟楼上一样先统一编码。还有mysql_connect已经废弃了在php7里面,建议使用mysqli或者pdo的方式进行操作

森林海

$sql = "INSERT INTO table_student VALUES($stuId,$stuName,'$stuChinese','$stuMath','$stuEnglish')"; 中的$stuId,$stuName都是加上单引号试一试

潇潇雨雨

在mysql命令行中可以正常提交,但是在代码中不能提交的话,一般是编码的问题。你要确定一下是否都为UTF-8的编码的格式。 另外,mysql_connect 自PHP 5.5.0 起已废弃,并在自 PHP 7.0.0 开始被移除。应使用 MySQLi 或 PDO_MySQL 扩展来替换之。 你换用PDO或者Mysqli重写一遍吧,都废弃了,没必要纠结。
随时随地看视频慕课网APP
我要回答