Это сообщение об ошибке отображается при возникновении ошибки в запросе, которая привела к сбою. Он проявится при использовании:
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 .
Эта функция только что добавлена в недавнюю версию Seaborn 0.7.1.
Из История обновлений Seaborn :
] Параметр annot heatmap () теперь принимает прямоугольный набор данных в дополнение к булевскому значению. Если передается набор данных, его значения будут использоваться для аннотаций, тогда как основной набор данных будет использоваться для цветов ячейки тепловой карты
blockquote> blockquote>. Вот пример
data = np.array([[0.000000,0.000000],[-0.231049,0.000000],[-0.231049,0.000000]]) labels = np.array([['A','B'],['C','D'],['E','F']]) fig, ax = plt.subplots() ax = sns.heatmap(data, annot = labels, fmt = '')
Примечание: fmt = '' необходимо, если вы используете нечисловые метки, поскольку значение по умолчанию - fmt = '. 2g', что имеет смысл только для числовых значений и приведет к ошибке для текстовых меток ,
Я не думаю, что это возможно в текущей версии. Если вы столкнулись с временным решением hack-y, вы можете сделать следующее ...
# Create the 1st heatmap without labels
sns.heatmap(data=df1, annot=False,)
# create the second heatmap, which contains the labels,
# turn the annotation on,
# and make it transparent
sns.heatmap(data=df2, annot=True, alpha=0.0)
Обратите внимание, что может возникнуть проблема с окраской ваших текстовых меток. Здесь я создал пользовательский cmap
, чтобы все метки были равномерно черными.
aanot_kws
в Seaborn выполняет другую цель, а именно обеспечивает доступ к , как отображаются аннотации , а не , что отображается
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()
fig, ax = plt.subplots(1,2)
ata = np.array([[0.000000,0.000000],[-0.231049,0.000000],[-0.231049,0.000000]])
sns.heatmap(data, vmin=-0.231049, vmax=0, annot=True, fmt='f', annot_kws={"size": 15}, ax=ax[0])
sns.heatmap(data, vmin=-0.231049, vmax=0, annot=True, fmt='f', annot_kws={"size": 10}, ax=ax[1]);