繁体   English   中英

如何使用php用逗号分隔mysql行值?

[英]How to separate mysql row values by comma using php?

我尝试以下代码来输出每个学生的father_contact ,方法是首先合并他们,然后用逗号将每个数字分开,但无法使其正常工作。 请帮我。

$sql = "SELECT Fathers_Contact FROM student WHERE Class ='$class' AND Section='$s' and Year='$y'";
$result = mysql_query($sql);

if (!$result) {
    die("Query not working");
} 

$mbno_arr = array();

while ($row = mysql_fetch_array($result)) {
    $mbno_arr[] = $row[0];
}

$mbno_list = implode(',', $mbno_arr);//expect here is: 9867656543,9867656443,9867654543

if(empty($mbno_list)){
    echo "No number is there";
    exit;
}

if(empty($msg)){
    echo "Message empty!";
    exit;
}

Father_contact是十位数的手机号码。

// Escapes special characters in a string for use in an SQL statement
$SQL = sprintf(
        "SELECT Fathers_Contact 
         FROM student 
         WHERE Class = '%s' AND Section = '%s' and Year = '%s'", 
        mysql_real_escape_string($class), 
        mysql_real_escape_string($s), 
        mysql_real_escape_string($y)
);

// Result or die (print mysql error)
$result = mysql_query($SQL) or die( mysql_error() );

// Check if result has rows
if( mysql_numrows($result) > 0 )
{
    $mbno_arr = array();

    while ( $row = mysql_fetch_array($result) )
        $mbno_arr[] = $row[0];

    if( count($mbno_arr) > 0)
        echo implode(',', $mbno_arr);
    else
        echo 'No number is there';
}
else
{
    echo 'No result for query';
}

// free result
mysql_free_result($result);

注意使用PDOmysqli mysql_ *已弃用

首先,现已正式弃用mysql_* 请使用PDOMySQLi

你可以尝试一下:

<?php

// Connect
$mysqli = new mysqli("localhost", "my_user", "my_password", "my_database");
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

// Query
$query = "SELECT Fathers_Contact FROM student WHERE Class = ? AND Section = ? and Year = ?";
if ($stmt = $mysqli->prepare($query)) {
{
    // Bind params
    $stmt->bind_param("sss",
        $class,
        $s,
        $y);

    // Execute statement
    $stmt->execute();

    // fetch associative array
    $mbno_arr = array();
    $result = $stmt->fetch_result();
    while ($row = $result->fetch_assoc())
    {
        // Build data
        $mbno_arr[] = $row['Fathers_Contact'];
    }

    // close statement
    $stmt->close();

    // Debug?
    $mbno_list = implode(',', $mbno_arr);
    if (empty($mbno_list)) {
        echo "No number is there";
    } else {
        echo "Query Results: $mbno_list";
    }
}

// Close Connection
$mysqli->close();

?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM