Это сообщение об ошибке отображается при возникновении ошибки в запросе, которая привела к сбою. Он проявится при использовании:
mysql_fetch_array
/ mysqli_fetch_array()
mysql_fetch_assoc()
/ mysqli_fetch_assoc()
mysql_num_rows()
/ mysqli_num_rows()
Примечание. Эта ошибка вызывает не , если на ваш запрос не влияет строка. Только запрос с недопустимым синтаксисом генерирует эту ошибку.
Шаги устранения неполадок
error_reporting(-1);
. Если у вас есть какие-либо синтаксические ошибки, это укажет вам. mysql_error()
. mysql_error()
сообщит о любых ошибках MySQL, возникающих при выполнении вашего запроса. Пример использования: mysql_connect($host, $username, $password) or die("cannot connect");
mysql_select_db($db_name) or die("cannot select DB");
$sql = "SELECT * FROM table_name";
$result = mysql_query($sql);
if (false === $result) {
echo mysql_error();
}
mysql_real_escape_string()
, чтобы избежать ввода. mysqli_*
и mysql_*
. Они не то же самое и не могут использоваться вместе. Другие советы
mysql_*
функции не должны для нового кода. Они больше не поддерживаются, и сообщество приступило к процессу осушки . Вместо этого вы должны узнать о подготовленных операторах и использовать либо PDO , либо MySQLi . Если вы не можете решить, эта статья поможет выбрать. Если вы хотите узнать, вот хороший учебник PDO .
Вам нужно подождать, пока ваше изображение загрузится, прежде чем вы сможете нарисовать его на холсте.
Для этого просто используйте обработчик события load
вашего элемента <img>
:
// create a new image
var img = new Image();
// declare a function to call once the image has loaded
img.onload = function(){
var canvas = document.createElement('canvas');
canvas.width = img.width;
canvas.height = img.height;
var context = canvas.getContext('2d');
context.drawImage(img, 0,0);
var dataURL = canvas.toDataURL();
// now you can do something with the dataURL
doSomething(dataURL);
}
// now set the image's src
img.src = "http://somerandomWebsite/picture.png";
Кроме того, для холста 'context.toDataURL()
и context.getImageData
для работайте правильно, вы должны получить свой ресурс изображения в соответствии с кросс-оригинальным способом , в противном случае холст «испорчен», что означает, что любой метод получения данных с пикселями будет заблокирован.
img.crossOrigin
на "use-credentials"
. img.crossOrigin
на "anonymous"
. Nota Bene : Сервер CORS отправляется сервером, а атрибут cross-origin
сообщает, что вы хотите использовать CORS для получения данных изображения, и вы не сможете обойти его, если сервер установлен неправильно. Кроме того, некоторые UserAgents (IE & amp; Safari) до сих пор не реализовали этот атрибут.
Edge Case : Если некоторые из ваших изображений находятся на вашем сервере, а некоторые из них соответствуют требованиям CORS один, тогда вы можете захотеть использовать обработчик события onerror
, который должен срабатывать, если вы установите атрибут cross-origin
на "anonymous"
на сервере без CORS.
function corsError(){
this.crossOrigin='';
this.src='';
this.removeEventListener('error', corsError, false);
}
img.addEventListener('error', corsError, false);