MySQL只插入第一个字符

时间:2017-10-19 16:26:38

标签: php mysql

我已阅读其他帖子,但我的问题很独特。

这是我的PHP代码

<?php
$link = mysqli_connect('localhost', 'root', '', 'mumbai');

$stmt = mysqli_prepare($link, "INSERT INTO single (`cus_id`, `mobile`, `date`, `credit`) 
                               VALUES (?,?,?,?)");

mysqli_stmt_bind_param($stmt, 'issi', $cus_id, $mobile, $date, $credit);

foreach ((array)$_POST['cus_id'] as $i => $cus_id) {
    $mobile = $_POST['mobile'][$i];
    $date = $_POST['date'][$i];                                         
    $credit  = $_POST['debuyt'][$i];

    mysqli_stmt_execute($stmt);
}                                           

if(!$stmt){ 
    echo "error". mysqli_error($link);
}
else{
    $_SESSION['s']="Payment successfully saved";
    header('location:final.php');
}
?>

我的表single的数据类型如下:

@cus_id -> int(11)

@mobile ->varchar(255)

@date->varchar(255)

@credit->int(255)
  

我的问题是每当我提交表单时,只有一个字符插入数据库。

2 个答案:

答案 0 :(得分:1)

我的问题已经解决了。谢谢MCMXCII

这是经过纠正和解决的答案。

<?php
$link = mysqli_connect('localhost', 'root', '', 'mumbai');

$stmt = mysqli_prepare($link, "INSERT INTO single (`cus_id`, `mobile`, `date`, `credit`) 
                               VALUES (?,?,?,?)");

mysqli_stmt_bind_param($stmt, 'issi', $cus_id, $mobile, $date, $credit);

foreach ((array)$_POST['cus_id'] as $i => $cus_id) {
    $mobile = $_POST['mobile'];
    $date = $_POST['date'];                                         
    $credit  = $_POST['debuyt'];

    mysqli_stmt_execute($stmt);
}                                           

if(!$stmt){ 
    echo "error". mysqli_error($link);
}
else{
    $_SESSION['s']="Payment successfully saved";
    header('location:final.php');
}
?>

答案 1 :(得分:0)

您正在访问字符串的索引,这是一个字符。例如$var = 'something'; $var[3] = 'e'。 放下[$i]