【问题标题】:Syntax for PHP while($row =mysql_fetch_row...?PHP 的语法 while($row =mysql_fetch_row...?
【发布时间】:2013-08-20 20:28:07
【问题描述】:

我正在尝试向多个收件人发送短信。我试图实现这一点的代码是这样的: 我面临的问题是消息仅传递到表中的第一条记录。

需要帮助,我哪里出错了?

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$result = mysql_query("SELECT name,mobile FROM members");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
while($row = mysql_fetch_row($result)) {
$mobile=$row[1];
$name=$row[0];

$request = "";
$param['mobileno'] = "91". $mobile;
$param['message']  = "Dear $name (organisation name) wishes you a very very Happy Birthday";
$param['username'] = "username";
$param['password']  = "password";
$param['sendername'] = "sender";
foreach ($param as $key => $val ){$request .= $key . "=" . urlencode($val);    
$request .= "&";}$request = substr( $request, 0, strlen( $request ) - 1 );
$url = "http://smsapi" . $request;
$ch = curl_init($url);curl_setopt($ch, CURLOPT_URL, $url );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true );
$result = curl_exec($ch);
var_dump($result);exit;
curl_close( $ch );
}

【问题讨论】:

    标签: php mysql curl joomla


    【解决方案1】:

    您需要遵守 Joomla 编码标准。不要使用 mysql_* 函数,因为它们已被弃用并构成安全威胁。

    $db = JFactory::getDbo();     
    $query = $db->getQuery(true);    
    $query->select('*')
    ->from('members');     
    $db->setQuery($query);     
    $rows = $db->loadObjectList();
    
    while($rows){
        foreach ( $rows as $row ) {
            $mobile = $row->mobile;
            $name = $row->name;
        }
    
        //rest of code
    }
    

    【讨论】:

    • 您能否详细说明我将如何将 loadresult() 分配给 $mobile 或 $name 的变量,并再次确认此处的 loadResult() 是否适合 loadObjectList()
    • 对不起,它不起作用。但是,如果我添加 var_dump($rows);exit;在 loadOjectList() 之后,我得到了正确的数组转储。所以我认为之后的代码需要一些改变。
    • 我已经尝试应用完整的代码,包括 //rest of code。 SMS 正在通过。但问题与原始问题相同,即 SMS 正在发送到表中的第一条记录。所以我认为 SMS 代码中也有一些东西,它阻止了循环记录。
    • 嗯,好的。它在 foreach() 的小测试中对我有用,但是我没有使用 while 循环对其进行测试
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-29
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 2012-06-05
    • 1970-01-01
    相关资源
    最近更新 更多