1

我正在尝试创建一个自定义模块,并且正在尝试获取我的 SQL 访问权限。

但我不断得到

mysql_query() [function.mysql-query]:第 14 行 /home/scripts/public_html/crm/modules/PcPal/book-engineer.php 中用户 'scripts'@'localhost' 的访问被拒绝(使用密码:NO)

制作sugar模块时如何访问数据库中的数据?

<?php if(!defined('sugarEntry') || !sugarEntry) die ('Not A valid Entry point'); ?>

<h2>Book an Engineer</h2>

<form method="POST" >
Search Last Name : <input type="text"  name="frm_last_name_search" value="<?php echo $_POST['frm_last_name_search']; ?>" />

<input type="submit"  value="Search"/>
</form>

<?php
$sql = 'SELECT first_name, last_name, primary_address_street FROM contacts WHERE last_name = \''.$_POST['frm_last_name_search'].'\'';

$results = mysql_query($sql);

while($this_result = mysql_fetch_array($result))
{
  print_r($this_result);
}


?>
4

2 回答 2

2

您应该考虑将 bean 方法用于此类非常常见的查询,因为它更容易且更便携。

http://developers.sugarcrm.com/wordpress/2012/03/23/howto-using-the-bean-instead-of-sql-all-the-time/

于 2012-09-27T15:30:24.513 回答
2

使用该global对象$db执行数据库操作。
如果你有模块 bean eg: $bean = new Contact();,你可以使用$bean->db而不是global $db.
此外,在从表中获取时,始终使用deleted = 0, 因为已删除的项目被标记为1

global $db;
$sql = "SELECT first_name, last_name, primary_address_street FROM contacts 
WHERE last_name = '{$db->quote($_POST['frm_last_name_search']}' AND deleted = 0";

$rs = $db->query($sql);

while($row = $db->fetchByAssoc($rs))
{
  print_r($row);
}
于 2012-09-27T15:10:08.870 回答