質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

660閲覧

TypeError: this.onResult is not a function 

Kuro_Rubbit

総合スコア4

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2022/11/13 06:29

編集2022/11/13 06:32

MySQLで以下のようなエラーコードが出てきます

TypeError: this.onResult is not a function

どうやらこのSQL文を作った途端に発生するようです

sql.query('INSERT jinnjya(ID) VALUES (',i,');');

これは何が原因なのでしょうか?

一応下に、ソースコードを貼っておきます

/*eslint-env es6*/ //Node.js const requestPromise = require('request-promise'); const cheerio = require('cheerio'); //APIキー const {Client} = require("@googlemaps/google-maps-services-js"); const client = new Client({}); //MYSQL var mysql = require('mysql2'); var sql = mysql.createConnection({ host: 'localhost', user: 'root', password: 'root', port: '33306' }); sql.query('USE kekkai'); sql.query('SELECT * FROM jinnjya'); //初期設定 var first = 0; var end = 0; var name; var genn_jyuusyo; var touji_jyuusyo; var jyuusyo; var lat; var lng; var kami; (async () => { for(i = 1;i < 10;i++){ // httpリクエストを投げる const url = 'https://www.jinja-net.jp/jinja-all/jsearch3all.php?jinjya='+i; const response = await requestPromise(url); let $ = cheerio.load(response); // 取得したいデータのタグを指定する let title = $.text(); if(title.indexOf("検索条件のエラーです") != -1 || title.indexOf("条件に合ったデータは有りません") != -1){ }else{ console.log(i); sql.query('INSERT jinnjya(ID) VALUES (',i,');'); first = title.indexOf("神社名/通称")+6; end = title.indexOf("(フリガナ)"); name = title.substring(first, end); console.log(name); first = title.indexOf("現鎮座地")+4; end = title.indexOf("鎮座地調査年"); genn_jyuusyo = title.substring(first, end); first = title.indexOf("当時鎮座地")+5; end = title.indexOf("氏子地域"); touji_jyuusyo = title.substring(first, end); if(genn_jyuusyo.length < touji_jyuusyo.length){ jyuusyo = touji_jyuusyo; }else{ jyuusyo = genn_jyuusyo; } console.log(jyuusyo); //経度緯度を調べる client .geocode({ params: { address: jyuusyo, key: "AIzaSyAhyQa-JyxvarT47FNLLwj9gm2AOzV3Fzs", }, timeout:1000, // milliseconds }) .then((r) => { lat = r.data.results[0].geometry.location.lat; lng = r.data.results[0].geometry.location.lng; console.log(lat); console.log(lng); }) .catch((e) => { console.log(e.response.data.error_message); }); first = title.indexOf("主祭神")+3; end = title.lastIndexOf("フリガナ"); kami = title.substring(first, end); console.log(kami); } } })();

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

やはりSQL文の書き方が間違っていたようです。解決出来ました!

投稿2022/11/14 02:22

Kuro_Rubbit

総合スコア4

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問