Tôi đang phát triển một ứng dụng web bằng cách sử dụng khung công tác zend. Đối với các câu lệnh chọn tôi đã sử dụng theo cách sau.mysql_real_escape_string với Zend
Ex:
public function getData($name)
{
$sql = "SELECT * from customer where Customer_Name = '$name'";
return $this->objDB->getAdapter()->fetchAll ($sql);
}
này hoạt động tốt. Nhưng nếu tôi gửi tên khách hàng là: colvin's place
, Truy vấn không thành công. Và tôi biết đó là vì một câu trích dẫn duy nhất.
Trước đó, tôi đã sử dụng hàm bổ sung PHP. Nhưng tôi thấy đó không phải là cách tốt để làm điều này. Lần này tôi đã sử dụng chức năng PHP mysql_real_escape_string
.
Sự cố là cảnh báo sau đây.
Warning</b>: mysql_real_escape_string() [<a href='function.mysql-real-escape-string'>function.mysql-real-escape-string</a>]: Access denied for user 'ODBC'@'localhost' (using password: NO)
Điều này là do các mysql_real_escape_string
chức năng cần có một kết nối đến cơ sở dữ liệu mở bởi mysql_connect
. Câu hỏi của tôi là làm thế nào tôi có thể sử dụng điều này với các lớp * Zend_DB *. Tôi cần luôn sử dụng các truy vấn chọn tùy chỉnh. Đánh giá cao các đề xuất khác của bạn nếu có.
Cảm ơn bạn
yo đã thử sử dụng [Zend_DB_Statement] (http://framework.zend.com/manual/ vi/zend.db.statement.html) –
Cảm ơn Shiplu. Tôi sẽ kiểm tra. –
Tôi sử dụng addslashes() và cho số nguyên Intval(). Nhưng việc sử dụng addlashes là một thực hành không tốt. – devOp